├── .gitignore ├── .gitmodules ├── .travis.yml ├── CHANGLOG.md ├── LICENSE ├── README.md ├── README.zh-CN.md ├── ROADMAP.md ├── assets ├── features │ └── features.png └── logo │ ├── favicon.psb │ ├── logo.png │ └── logo.psd ├── examples ├── service │ ├── call_service.ini │ ├── client.py │ ├── component.ini │ ├── fastweb_thrift_async │ │ ├── HelloService │ │ │ ├── HelloService-remote │ │ │ ├── HelloService.py │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ └── ttypes.py │ │ └── __init__.py │ ├── fastweb_thrift_sync │ │ ├── HelloService │ │ │ ├── HelloService-remote │ │ │ ├── HelloService.py │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ └── ttypes.py │ │ └── __init__.py │ ├── handlers │ │ ├── HelloService.py │ │ ├── __init__.py │ │ └── secondService.py │ ├── idls │ │ └── HelloService.thrift │ ├── server.py │ ├── service.ini │ ├── service_handlers │ │ ├── __init__.py │ │ └── hello.py │ └── tservice.ini ├── task │ ├── some_tasks │ │ ├── __init__.py │ │ └── add.py │ ├── task.ini │ └── task_worker.py └── web │ ├── config.ini │ ├── fastweb_thrift_async │ ├── HelloService │ │ ├── HelloService-remote │ │ ├── HelloService.py │ │ ├── HelloService1-remote │ │ ├── HelloService1.py │ │ ├── __init__.py │ │ ├── constants.py │ │ └── ttypes.py │ └── __init__.py │ ├── handlers │ ├── __init__.py │ └── test.py │ ├── main.py │ ├── some_tasks │ ├── __init__.py │ └── add.py │ └── task.ini ├── fastweb-docs-1 ├── docs │ ├── .vuepress │ │ └── config.js │ └── README.md └── node_modules │ ├── .bin │ ├── acorn │ ├── atob │ ├── autoprefixer │ ├── babylon │ ├── browserslist │ ├── cssesc │ ├── csso │ ├── envify │ ├── errno │ ├── esparse │ ├── esvalidate │ ├── he │ ├── html-minifier │ ├── hulk │ ├── import-local-fixture │ ├── is-ci │ ├── js-yaml │ ├── jsesc │ ├── json5 │ ├── loose-envify │ ├── markdown-it │ ├── miller-rabin │ ├── mime │ ├── mkdirp │ ├── nopt │ ├── prettier │ ├── rc │ ├── regjsparser │ ├── rimraf │ ├── semver │ ├── sha.js │ ├── stylus │ ├── svgo │ ├── uglifyjs │ ├── uuid │ ├── vuepress │ ├── webpack │ ├── webpack-serve │ └── which │ ├── @vue │ ├── babel-preset-app │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── polyfillsPlugin.js │ └── component-compiler-utils │ │ ├── .circleci │ │ └── config.yml │ │ ├── .prettierrc.js │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── lib │ │ ├── compileStyle.ts │ │ ├── compileTemplate.ts │ │ ├── index.ts │ │ ├── parse.ts │ │ ├── stylePlugins │ │ │ ├── scoped.ts │ │ │ └── trim.ts │ │ ├── styleProcessors │ │ │ └── index.ts │ │ ├── templateCompilerModules │ │ │ ├── assetUrl.ts │ │ │ ├── srcset.ts │ │ │ └── utils.ts │ │ └── types.ts │ │ ├── node_modules │ │ └── postcss-selector-parser │ │ │ ├── API.md │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE-MIT │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ └── postcss-selector-parser.d.ts │ │ └── package.json │ ├── @xtuc │ ├── ieee754 │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ └── long │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ └── long.js │ ├── acorn │ └── bin │ │ ├── _acorn.js │ │ ├── acorn │ │ ├── run_test262.js │ │ └── test262.whitelist │ ├── ajv │ ├── .tonic_example.js │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── ajv.d.ts │ │ ├── ajv.js │ │ ├── cache.js │ │ ├── compile │ │ │ ├── async.js │ │ │ ├── equal.js │ │ │ ├── error_classes.js │ │ │ ├── formats.js │ │ │ ├── index.js │ │ │ ├── resolve.js │ │ │ ├── rules.js │ │ │ ├── schema_obj.js │ │ │ ├── ucs2length.js │ │ │ └── util.js │ │ ├── data.js │ │ ├── dot │ │ │ ├── _limit.jst │ │ │ ├── _limitItems.jst │ │ │ ├── _limitLength.jst │ │ │ ├── _limitProperties.jst │ │ │ ├── allOf.jst │ │ │ ├── anyOf.jst │ │ │ ├── coerce.def │ │ │ ├── comment.jst │ │ │ ├── const.jst │ │ │ ├── contains.jst │ │ │ ├── custom.jst │ │ │ ├── defaults.def │ │ │ ├── definitions.def │ │ │ ├── dependencies.jst │ │ │ ├── enum.jst │ │ │ ├── errors.def │ │ │ ├── format.jst │ │ │ ├── if.jst │ │ │ ├── items.jst │ │ │ ├── missing.def │ │ │ ├── multipleOf.jst │ │ │ ├── not.jst │ │ │ ├── oneOf.jst │ │ │ ├── pattern.jst │ │ │ ├── properties.jst │ │ │ ├── propertyNames.jst │ │ │ ├── ref.jst │ │ │ ├── required.jst │ │ │ ├── uniqueItems.jst │ │ │ └── validate.jst │ │ ├── dotjs │ │ │ ├── README.md │ │ │ ├── _limit.js │ │ │ ├── _limitItems.js │ │ │ ├── _limitLength.js │ │ │ ├── _limitProperties.js │ │ │ ├── allOf.js │ │ │ ├── anyOf.js │ │ │ ├── comment.js │ │ │ ├── const.js │ │ │ ├── contains.js │ │ │ ├── custom.js │ │ │ ├── dependencies.js │ │ │ ├── enum.js │ │ │ ├── format.js │ │ │ ├── if.js │ │ │ ├── index.js │ │ │ ├── items.js │ │ │ ├── multipleOf.js │ │ │ ├── not.js │ │ │ ├── oneOf.js │ │ │ ├── pattern.js │ │ │ ├── properties.js │ │ │ ├── propertyNames.js │ │ │ ├── ref.js │ │ │ ├── required.js │ │ │ ├── uniqueItems.js │ │ │ └── validate.js │ │ ├── keyword.js │ │ └── refs │ │ │ ├── data.json │ │ │ ├── json-schema-draft-04.json │ │ │ ├── json-schema-draft-06.json │ │ │ └── json-schema-draft-07.json │ ├── package.json │ └── scripts │ │ ├── .eslintrc.yml │ │ ├── bundle.js │ │ ├── compile-dots.js │ │ ├── info │ │ ├── prepare-tests │ │ ├── publish-built-version │ │ └── travis-gh-pages │ ├── arch │ ├── LICENSE │ ├── README.md │ ├── browser.js │ ├── index.js │ └── package.json │ ├── atob │ ├── LICENSE │ ├── LICENSE.DOCS │ ├── README.md │ ├── bin │ │ └── atob.js │ ├── bower.json │ ├── browser-atob.js │ ├── node-atob.js │ ├── package.json │ └── test.js │ ├── base │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── node_modules │ │ ├── define-property │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── is-accessor-descriptor │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── is-data-descriptor │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── is-descriptor │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── isobject │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── package.json │ │ └── kind-of │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json │ ├── clap │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── node_modules │ │ ├── ansi-styles │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── chalk │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── package.json │ │ │ └── readme.md │ │ └── supports-color │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── package.json │ │ │ └── readme.md │ └── package.json │ ├── co │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json │ ├── coa │ ├── .npmignore │ ├── .nyc_output │ │ ├── 1f2a0db5a6d6559149db56d397f47cfc.json │ │ └── 75b82d38f2186df930141082076e11c6.json │ ├── .travis.yml │ ├── GNUmakefile │ ├── README.md │ ├── README.ru.md │ ├── coverage │ │ ├── base.css │ │ ├── coa │ │ │ ├── index.html │ │ │ ├── index.js.html │ │ │ └── lib │ │ │ │ ├── arg.js.html │ │ │ │ ├── cmd.js.html │ │ │ │ ├── coaobject.js.html │ │ │ │ ├── coaparam.js.html │ │ │ │ ├── color.js.html │ │ │ │ ├── completion.js.html │ │ │ │ ├── index.html │ │ │ │ ├── index.js.html │ │ │ │ ├── opt.js.html │ │ │ │ └── shell.js.html │ │ ├── index.html │ │ ├── prettify.css │ │ ├── prettify.js │ │ ├── sort-arrow-sprite.png │ │ └── sorter.js │ ├── index.js │ ├── lib │ │ ├── arg.js │ │ ├── cmd.js │ │ ├── color.js │ │ ├── completion.js │ │ ├── completion.sh │ │ ├── index.js │ │ ├── opt.js │ │ └── shell.js │ ├── package.json │ ├── qq.js │ ├── src │ │ ├── arg.coffee │ │ ├── cmd.coffee │ │ ├── color.coffee │ │ ├── completion.coffee │ │ ├── index.coffee │ │ ├── opt.coffee │ │ └── shell.coffee │ ├── test │ │ ├── coa.js │ │ ├── mocha.opts │ │ └── shell-test.js │ └── tests │ │ ├── api-h.js │ │ └── h.js │ ├── csso │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── csso │ ├── lib │ │ ├── cli.js │ │ ├── compressor │ │ │ ├── clean │ │ │ │ ├── Atrule.js │ │ │ │ ├── Comment.js │ │ │ │ ├── Declaration.js │ │ │ │ ├── Identifier.js │ │ │ │ ├── Ruleset.js │ │ │ │ ├── Space.js │ │ │ │ └── index.js │ │ │ ├── compress │ │ │ │ ├── Atrule.js │ │ │ │ ├── Attribute.js │ │ │ │ ├── Dimension.js │ │ │ │ ├── Number.js │ │ │ │ ├── String.js │ │ │ │ ├── Url.js │ │ │ │ ├── Value.js │ │ │ │ ├── atrule │ │ │ │ │ └── keyframes.js │ │ │ │ ├── color.js │ │ │ │ ├── index.js │ │ │ │ └── property │ │ │ │ │ ├── background.js │ │ │ │ │ ├── font-weight.js │ │ │ │ │ └── font.js │ │ │ ├── index.js │ │ │ ├── restructure │ │ │ │ ├── 1-initialMergeRuleset.js │ │ │ │ ├── 2-mergeAtrule.js │ │ │ │ ├── 3-disjoinRuleset.js │ │ │ │ ├── 4-restructShorthand.js │ │ │ │ ├── 6-restructBlock.js │ │ │ │ ├── 7-mergeRuleset.js │ │ │ │ ├── 8-restructRuleset.js │ │ │ │ ├── index.js │ │ │ │ ├── prepare │ │ │ │ │ ├── createDeclarationIndexer.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── processSelector.js │ │ │ │ │ └── specificity.js │ │ │ │ └── utils.js │ │ │ └── usage.js │ │ ├── index.js │ │ ├── parser │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ └── scanner.js │ │ └── utils │ │ │ ├── clone.js │ │ │ ├── list.js │ │ │ ├── names.js │ │ │ ├── translate.js │ │ │ ├── translateWithSourceMap.js │ │ │ └── walk.js │ └── package.json │ ├── d │ ├── .lint │ ├── .npmignore │ ├── .travis.yml │ ├── CHANGES │ ├── LICENSE │ ├── README.md │ ├── auto-bind.js │ ├── index.js │ ├── lazy.js │ ├── package.json │ └── test │ │ ├── auto-bind.js │ │ ├── index.js │ │ └── lazy.js │ ├── depd │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── browser │ │ │ └── index.js │ │ └── compat │ │ │ ├── callsite-tostring.js │ │ │ ├── event-listener-count.js │ │ │ └── index.js │ └── package.json │ ├── glob │ ├── LICENSE │ ├── README.md │ ├── changelog.md │ ├── common.js │ ├── glob.js │ ├── package.json │ └── sync.js │ ├── got │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md │ ├── has │ ├── LICENSE-MIT │ ├── README.md │ ├── package.json │ ├── src │ │ └── index.js │ └── test │ │ └── index.js │ ├── he │ ├── LICENSE-MIT.txt │ ├── README.md │ ├── bin │ │ └── he │ ├── he.js │ ├── man │ │ └── he.1 │ └── package.json │ ├── hoek │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── escape.js │ │ └── index.js │ └── package.json │ ├── ini │ ├── LICENSE │ ├── README.md │ ├── ini.js │ └── package.json │ ├── joi │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── cast.js │ │ ├── errors.js │ │ ├── index.js │ │ ├── language.js │ │ ├── ref.js │ │ ├── schemas.js │ │ ├── set.js │ │ └── types │ │ │ ├── alternatives │ │ │ └── index.js │ │ │ ├── any │ │ │ └── index.js │ │ │ ├── array │ │ │ └── index.js │ │ │ ├── binary │ │ │ └── index.js │ │ │ ├── boolean │ │ │ └── index.js │ │ │ ├── date │ │ │ └── index.js │ │ │ ├── func │ │ │ └── index.js │ │ │ ├── lazy │ │ │ └── index.js │ │ │ ├── number │ │ │ └── index.js │ │ │ ├── object │ │ │ └── index.js │ │ │ └── string │ │ │ ├── index.js │ │ │ ├── ip.js │ │ │ ├── rfc3986.js │ │ │ └── uri.js │ └── package.json │ ├── koa │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── lib │ │ ├── application.js │ │ ├── context.js │ │ ├── request.js │ │ └── response.js │ ├── node_modules │ │ ├── debug │ │ │ ├── .coveralls.yml │ │ │ ├── .eslintrc │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── karma.conf.js │ │ │ ├── node.js │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── browser.js │ │ │ │ ├── debug.js │ │ │ │ ├── index.js │ │ │ │ └── node.js │ │ ├── koa-compose │ │ │ ├── History.md │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ └── ms │ │ │ ├── index.js │ │ │ ├── license.md │ │ │ ├── package.json │ │ │ └── readme.md │ └── package.json │ ├── meow │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md │ ├── mime │ ├── .eslintrc.json │ ├── .github │ │ ├── ISSUE_TEMPLATE.md │ │ └── PULL_REQUEST_TEMPLATE.md │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── Mime.js │ ├── README.md │ ├── cli.js │ ├── index.js │ ├── lite.js │ ├── package.json │ ├── src │ │ ├── README_js.md │ │ ├── build.js │ │ └── test.js │ └── types │ │ ├── other.json │ │ └── standard.json │ ├── ms │ ├── index.js │ ├── license.md │ ├── package.json │ └── readme.md │ ├── mz │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── child_process.js │ ├── crypto.js │ ├── dns.js │ ├── fs.js │ ├── index.js │ ├── package.json │ ├── readline.js │ └── zlib.js │ ├── nan │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── doc │ │ ├── asyncworker.md │ │ ├── buffers.md │ │ ├── callback.md │ │ ├── converters.md │ │ ├── errors.md │ │ ├── json.md │ │ ├── maybe_types.md │ │ ├── methods.md │ │ ├── new.md │ │ ├── node_misc.md │ │ ├── object_wrappers.md │ │ ├── persistent.md │ │ ├── scopes.md │ │ ├── script.md │ │ ├── string_bytes.md │ │ ├── v8_internals.md │ │ └── v8_misc.md │ ├── include_dirs.js │ ├── nan.h │ ├── nan_callbacks.h │ ├── nan_callbacks_12_inl.h │ ├── nan_callbacks_pre_12_inl.h │ ├── nan_converters.h │ ├── nan_converters_43_inl.h │ ├── nan_converters_pre_43_inl.h │ ├── nan_define_own_property_helper.h │ ├── nan_implementation_12_inl.h │ ├── nan_implementation_pre_12_inl.h │ ├── nan_json.h │ ├── nan_maybe_43_inl.h │ ├── nan_maybe_pre_43_inl.h │ ├── nan_new.h │ ├── nan_object_wrap.h │ ├── nan_persistent_12_inl.h │ ├── nan_persistent_pre_12_inl.h │ ├── nan_private.h │ ├── nan_string_bytes.h │ ├── nan_typedarray_contents.h │ ├── nan_weak.h │ ├── package.json │ └── tools │ │ ├── 1to2.js │ │ ├── README.md │ │ └── package.json │ ├── nopt │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── nopt.js │ ├── examples │ │ └── my-program.js │ ├── lib │ │ └── nopt.js │ └── package.json │ ├── once │ ├── LICENSE │ ├── README.md │ ├── once.js │ └── package.json │ ├── only │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── index.js │ └── package.json │ ├── opn │ ├── index.js │ ├── license │ ├── package.json │ ├── readme.md │ └── xdg-open │ ├── pako │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── deflate.js │ │ ├── inflate.js │ │ ├── utils │ │ │ ├── common.js │ │ │ └── strings.js │ │ └── zlib │ │ │ ├── README │ │ │ ├── adler32.js │ │ │ ├── constants.js │ │ │ ├── crc32.js │ │ │ ├── deflate.js │ │ │ ├── gzheader.js │ │ │ ├── inffast.js │ │ │ ├── inflate.js │ │ │ ├── inftrees.js │ │ │ ├── messages.js │ │ │ ├── trees.js │ │ │ └── zstream.js │ └── package.json │ ├── pify │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md │ ├── prr │ ├── .jshintrc │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE.md │ ├── README.md │ ├── package.json │ ├── prr.js │ └── test.js │ ├── pump │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ ├── test-browser.js │ └── test-node.js │ ├── q │ ├── CHANGES.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── q.js │ └── queue.js │ ├── rc │ ├── LICENSE.APACHE2 │ ├── LICENSE.BSD │ ├── LICENSE.MIT │ ├── README.md │ ├── browser.js │ ├── cli.js │ ├── index.js │ ├── lib │ │ └── utils.js │ ├── node_modules │ │ └── minimist │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── example │ │ │ └── parse.js │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ ├── readme.markdown │ │ │ └── test │ │ │ ├── all_bool.js │ │ │ ├── bool.js │ │ │ ├── dash.js │ │ │ ├── default_bool.js │ │ │ ├── dotted.js │ │ │ ├── kv_short.js │ │ │ ├── long.js │ │ │ ├── num.js │ │ │ ├── parse.js │ │ │ ├── parse_modified.js │ │ │ ├── short.js │ │ │ ├── stop_early.js │ │ │ ├── unknown.js │ │ │ └── whitespace.js │ ├── package.json │ └── test │ │ ├── ini.js │ │ ├── nested-env-vars.js │ │ └── test.js │ ├── ret │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── index.js │ │ ├── positions.js │ │ ├── sets.js │ │ ├── types.js │ │ └── util.js │ └── package.json │ ├── sax │ ├── LICENSE │ ├── README.md │ ├── lib │ │ └── sax.js │ └── package.json │ ├── ssri │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── index.js │ └── package.json │ ├── svgo │ ├── .npmignore │ ├── .svgo.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── README.ru.md │ ├── bin │ │ └── svgo │ ├── lib │ │ ├── svgo.js │ │ └── svgo │ │ │ ├── coa.js │ │ │ ├── config.js │ │ │ ├── js2svg.js │ │ │ ├── jsAPI.js │ │ │ ├── plugins.js │ │ │ ├── svg2js.js │ │ │ └── tools.js │ ├── node_modules │ │ ├── .bin │ │ │ └── js-yaml │ │ └── js-yaml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bin │ │ │ └── js-yaml.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ ├── js-yaml.js │ │ │ └── js-yaml │ │ │ │ ├── common.js │ │ │ │ ├── dumper.js │ │ │ │ ├── exception.js │ │ │ │ ├── loader.js │ │ │ │ ├── mark.js │ │ │ │ ├── schema.js │ │ │ │ ├── schema │ │ │ │ ├── core.js │ │ │ │ ├── default_full.js │ │ │ │ ├── default_safe.js │ │ │ │ ├── failsafe.js │ │ │ │ └── json.js │ │ │ │ ├── type.js │ │ │ │ └── type │ │ │ │ ├── binary.js │ │ │ │ ├── bool.js │ │ │ │ ├── float.js │ │ │ │ ├── int.js │ │ │ │ ├── js │ │ │ │ ├── function.js │ │ │ │ ├── regexp.js │ │ │ │ └── undefined.js │ │ │ │ ├── map.js │ │ │ │ ├── merge.js │ │ │ │ ├── null.js │ │ │ │ ├── omap.js │ │ │ │ ├── pairs.js │ │ │ │ ├── seq.js │ │ │ │ ├── set.js │ │ │ │ ├── str.js │ │ │ │ └── timestamp.js │ │ │ └── package.json │ ├── package.json │ └── plugins │ │ ├── _collections.js │ │ ├── _path.js │ │ ├── _transforms.js │ │ ├── addAttributesToSVGElement.js │ │ ├── addClassesToSVGElement.js │ │ ├── cleanupAttrs.js │ │ ├── cleanupEnableBackground.js │ │ ├── cleanupIDs.js │ │ ├── cleanupListOfValues.js │ │ ├── cleanupNumericValues.js │ │ ├── collapseGroups.js │ │ ├── convertColors.js │ │ ├── convertPathData.js │ │ ├── convertShapeToPath.js │ │ ├── convertStyleToAttrs.js │ │ ├── convertTransform.js │ │ ├── mergePaths.js │ │ ├── minifyStyles.js │ │ ├── moveElemsAttrsToGroup.js │ │ ├── moveGroupAttrsToElems.js │ │ ├── removeAttrs.js │ │ ├── removeComments.js │ │ ├── removeDesc.js │ │ ├── removeDimensions.js │ │ ├── removeDoctype.js │ │ ├── removeEditorsNSData.js │ │ ├── removeElementsByAttr.js │ │ ├── removeEmptyAttrs.js │ │ ├── removeEmptyContainers.js │ │ ├── removeEmptyText.js │ │ ├── removeHiddenElems.js │ │ ├── removeMetadata.js │ │ ├── removeNonInheritableGroupAttrs.js │ │ ├── removeRasterImages.js │ │ ├── removeStyleElement.js │ │ ├── removeTitle.js │ │ ├── removeUnknownsAndDefaults.js │ │ ├── removeUnusedNS.js │ │ ├── removeUselessDefs.js │ │ ├── removeUselessStrokeAndFill.js │ │ ├── removeViewBox.js │ │ ├── removeXMLNS.js │ │ ├── removeXMLProcInst.js │ │ ├── sortAttrs.js │ │ └── transformsWithOnePath.js │ ├── toml │ ├── .jshintrc │ ├── .npmignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── benchmark.js │ ├── index.d.ts │ ├── index.js │ ├── lib │ │ ├── compiler.js │ │ └── parser.js │ ├── package.json │ ├── src │ │ └── toml.pegjs │ └── test │ │ ├── bad.toml │ │ ├── example.toml │ │ ├── hard_example.toml │ │ ├── inline_tables.toml │ │ ├── literal_strings.toml │ │ ├── multiline_eat_whitespace.toml │ │ ├── multiline_literal_strings.toml │ │ ├── multiline_strings.toml │ │ ├── smoke.js │ │ ├── table_arrays_easy.toml │ │ ├── table_arrays_hard.toml │ │ └── test_toml.js │ ├── topo │ ├── .npmignore │ ├── README.md │ ├── lib │ │ └── index.js │ └── package.json │ ├── uniq │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── test │ │ └── test.js │ └── uniq.js │ ├── urix │ ├── .jshintrc │ ├── LICENSE │ ├── index.js │ ├── package.json │ ├── readme.md │ └── test │ │ └── index.js │ ├── url │ ├── .npmignore │ ├── .travis.yml │ ├── .zuul.yml │ ├── LICENSE │ ├── README.md │ ├── node_modules │ │ └── punycode │ │ │ ├── LICENSE-MIT.txt │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ └── punycode.js │ ├── package.json │ ├── test.js │ ├── url.js │ └── util.js │ ├── use │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json │ ├── util │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── support │ │ ├── isBuffer.js │ │ └── isBufferBrowser.js │ └── util.js │ ├── uuid │ ├── .eslintrc.json │ ├── AUTHORS │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── README_js.md │ ├── bin │ │ └── uuid │ ├── index.js │ ├── lib │ │ ├── bytesToUuid.js │ │ ├── md5-browser.js │ │ ├── md5.js │ │ ├── rng-browser.js │ │ ├── rng.js │ │ ├── sha1-browser.js │ │ ├── sha1.js │ │ └── v35.js │ ├── package.json │ ├── v1.js │ ├── v3.js │ ├── v4.js │ └── v5.js │ ├── vary │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json │ ├── vue │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src │ │ ├── compiler │ │ │ ├── codegen │ │ │ │ ├── events.js │ │ │ │ └── index.js │ │ │ ├── create-compiler.js │ │ │ ├── directives │ │ │ │ ├── bind.js │ │ │ │ ├── index.js │ │ │ │ ├── model.js │ │ │ │ └── on.js │ │ │ ├── error-detector.js │ │ │ ├── helpers.js │ │ │ ├── index.js │ │ │ ├── optimizer.js │ │ │ ├── parser │ │ │ │ ├── entity-decoder.js │ │ │ │ ├── filter-parser.js │ │ │ │ ├── html-parser.js │ │ │ │ ├── index.js │ │ │ │ └── text-parser.js │ │ │ └── to-function.js │ │ ├── core │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ └── keep-alive.js │ │ │ ├── config.js │ │ │ ├── global-api │ │ │ │ ├── assets.js │ │ │ │ ├── extend.js │ │ │ │ ├── index.js │ │ │ │ ├── mixin.js │ │ │ │ └── use.js │ │ │ ├── index.js │ │ │ ├── instance │ │ │ │ ├── events.js │ │ │ │ ├── index.js │ │ │ │ ├── init.js │ │ │ │ ├── inject.js │ │ │ │ ├── lifecycle.js │ │ │ │ ├── proxy.js │ │ │ │ ├── render-helpers │ │ │ │ │ ├── bind-object-listeners.js │ │ │ │ │ ├── bind-object-props.js │ │ │ │ │ ├── check-keycodes.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── render-list.js │ │ │ │ │ ├── render-slot.js │ │ │ │ │ ├── render-static.js │ │ │ │ │ ├── resolve-filter.js │ │ │ │ │ └── resolve-slots.js │ │ │ │ ├── render.js │ │ │ │ └── state.js │ │ │ ├── observer │ │ │ │ ├── array.js │ │ │ │ ├── dep.js │ │ │ │ ├── index.js │ │ │ │ ├── scheduler.js │ │ │ │ ├── traverse.js │ │ │ │ └── watcher.js │ │ │ ├── util │ │ │ │ ├── debug.js │ │ │ │ ├── env.js │ │ │ │ ├── error.js │ │ │ │ ├── index.js │ │ │ │ ├── lang.js │ │ │ │ ├── next-tick.js │ │ │ │ ├── options.js │ │ │ │ ├── perf.js │ │ │ │ └── props.js │ │ │ └── vdom │ │ │ │ ├── create-component.js │ │ │ │ ├── create-element.js │ │ │ │ ├── create-functional-component.js │ │ │ │ ├── helpers │ │ │ │ ├── extract-props.js │ │ │ │ ├── get-first-component-child.js │ │ │ │ ├── index.js │ │ │ │ ├── is-async-placeholder.js │ │ │ │ ├── merge-hook.js │ │ │ │ ├── normalize-children.js │ │ │ │ ├── resolve-async-component.js │ │ │ │ └── update-listeners.js │ │ │ │ ├── modules │ │ │ │ ├── directives.js │ │ │ │ ├── index.js │ │ │ │ └── ref.js │ │ │ │ ├── patch.js │ │ │ │ └── vnode.js │ │ ├── platforms │ │ │ ├── web │ │ │ │ ├── compiler │ │ │ │ │ ├── directives │ │ │ │ │ │ ├── html.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── model.js │ │ │ │ │ │ └── text.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── modules │ │ │ │ │ │ ├── class.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── model.js │ │ │ │ │ │ └── style.js │ │ │ │ │ ├── options.js │ │ │ │ │ └── util.js │ │ │ │ ├── entry-compiler.js │ │ │ │ ├── entry-runtime-with-compiler.js │ │ │ │ ├── entry-runtime.js │ │ │ │ ├── entry-server-basic-renderer.js │ │ │ │ ├── entry-server-renderer.js │ │ │ │ ├── runtime │ │ │ │ │ ├── class-util.js │ │ │ │ │ ├── components │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── transition-group.js │ │ │ │ │ │ └── transition.js │ │ │ │ │ ├── directives │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── model.js │ │ │ │ │ │ └── show.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── modules │ │ │ │ │ │ ├── attrs.js │ │ │ │ │ │ ├── class.js │ │ │ │ │ │ ├── dom-props.js │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── style.js │ │ │ │ │ │ └── transition.js │ │ │ │ │ ├── node-ops.js │ │ │ │ │ ├── patch.js │ │ │ │ │ └── transition-util.js │ │ │ │ ├── server │ │ │ │ │ ├── compiler.js │ │ │ │ │ ├── directives │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── model.js │ │ │ │ │ │ └── show.js │ │ │ │ │ ├── modules │ │ │ │ │ │ ├── attrs.js │ │ │ │ │ │ ├── class.js │ │ │ │ │ │ ├── dom-props.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── style.js │ │ │ │ │ └── util.js │ │ │ │ └── util │ │ │ │ │ ├── attrs.js │ │ │ │ │ ├── class.js │ │ │ │ │ ├── compat.js │ │ │ │ │ ├── element.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.js │ │ │ └── weex │ │ │ │ ├── compiler │ │ │ │ ├── directives │ │ │ │ │ ├── index.js │ │ │ │ │ └── model.js │ │ │ │ ├── index.js │ │ │ │ └── modules │ │ │ │ │ ├── append.js │ │ │ │ │ ├── class.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── props.js │ │ │ │ │ ├── recycle-list │ │ │ │ │ ├── component-root.js │ │ │ │ │ ├── component.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── recycle-list.js │ │ │ │ │ ├── text.js │ │ │ │ │ ├── v-bind.js │ │ │ │ │ ├── v-for.js │ │ │ │ │ ├── v-if.js │ │ │ │ │ ├── v-on.js │ │ │ │ │ └── v-once.js │ │ │ │ │ └── style.js │ │ │ │ ├── entry-compiler.js │ │ │ │ ├── entry-framework.js │ │ │ │ ├── entry-runtime-factory.js │ │ │ │ ├── runtime │ │ │ │ ├── components │ │ │ │ │ ├── index.js │ │ │ │ │ ├── richtext.js │ │ │ │ │ ├── transition-group.js │ │ │ │ │ └── transition.js │ │ │ │ ├── directives │ │ │ │ │ └── index.js │ │ │ │ ├── index.js │ │ │ │ ├── modules │ │ │ │ │ ├── attrs.js │ │ │ │ │ ├── class.js │ │ │ │ │ ├── events.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── style.js │ │ │ │ │ └── transition.js │ │ │ │ ├── node-ops.js │ │ │ │ ├── patch.js │ │ │ │ ├── recycle-list │ │ │ │ │ ├── render-component-template.js │ │ │ │ │ └── virtual-component.js │ │ │ │ └── text-node.js │ │ │ │ └── util │ │ │ │ ├── element.js │ │ │ │ ├── index.js │ │ │ │ └── parser.js │ │ ├── server │ │ │ ├── bundle-renderer │ │ │ │ ├── create-bundle-renderer.js │ │ │ │ ├── create-bundle-runner.js │ │ │ │ └── source-map-support.js │ │ │ ├── create-basic-renderer.js │ │ │ ├── create-renderer.js │ │ │ ├── optimizing-compiler │ │ │ │ ├── codegen.js │ │ │ │ ├── index.js │ │ │ │ ├── modules.js │ │ │ │ ├── optimizer.js │ │ │ │ └── runtime-helpers.js │ │ │ ├── render-context.js │ │ │ ├── render-stream.js │ │ │ ├── render.js │ │ │ ├── template-renderer │ │ │ │ ├── create-async-file-mapper.js │ │ │ │ ├── index.js │ │ │ │ ├── parse-template.js │ │ │ │ └── template-stream.js │ │ │ ├── util.js │ │ │ ├── webpack-plugin │ │ │ │ ├── client.js │ │ │ │ ├── server.js │ │ │ │ └── util.js │ │ │ └── write.js │ │ ├── sfc │ │ │ └── parser.js │ │ └── shared │ │ │ ├── constants.js │ │ │ └── util.js │ └── types │ │ ├── index.d.ts │ │ ├── options.d.ts │ │ ├── plugin.d.ts │ │ ├── vnode.d.ts │ │ └── vue.d.ts │ ├── when │ ├── LICENSE.txt │ ├── README.md │ ├── callbacks.js │ ├── cancelable.js │ ├── delay.js │ ├── es6-shim │ │ ├── Promise.browserify-es6.js │ │ ├── Promise.js │ │ └── README.md │ ├── function.js │ ├── generator.js │ ├── guard.js │ ├── keys.js │ ├── lib │ │ ├── Promise.js │ │ ├── Scheduler.js │ │ ├── TimeoutError.js │ │ ├── apply.js │ │ ├── decorators │ │ │ ├── array.js │ │ │ ├── flow.js │ │ │ ├── fold.js │ │ │ ├── inspect.js │ │ │ ├── iterate.js │ │ │ ├── progress.js │ │ │ ├── timed.js │ │ │ ├── unhandledRejection.js │ │ │ └── with.js │ │ ├── env.js │ │ ├── format.js │ │ ├── liftAll.js │ │ ├── makePromise.js │ │ └── state.js │ ├── monitor.js │ ├── monitor │ │ ├── ConsoleReporter.js │ │ ├── PromiseMonitor.js │ │ ├── README.md │ │ ├── console.js │ │ └── error.js │ ├── node.js │ ├── node │ │ └── function.js │ ├── package.json │ ├── parallel.js │ ├── pipeline.js │ ├── poll.js │ ├── sequence.js │ ├── timeout.js │ ├── unfold.js │ ├── unfold │ │ └── list.js │ └── when.js │ ├── ws │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── buffer-util.js │ │ ├── constants.js │ │ ├── event-target.js │ │ ├── extension.js │ │ ├── permessage-deflate.js │ │ ├── receiver.js │ │ ├── sender.js │ │ ├── validation.js │ │ ├── websocket-server.js │ │ └── websocket.js │ └── package.json │ ├── y18n │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json │ └── ylru │ ├── History.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── fastweb ├── __init__.py ├── accesspoint.py ├── cache.py ├── command │ ├── __init__.py │ ├── fast.py │ └── service │ │ ├── __init__.py │ │ └── thrift.py ├── compat.py ├── component │ ├── __init__.py │ ├── db │ │ ├── __init__.py │ │ ├── mongo.py │ │ ├── mysql.py │ │ └── rds.py │ ├── request.py │ ├── rpc │ │ ├── __init__.py │ │ └── tft.py │ └── task.py ├── components.py ├── exception.py ├── loader.py ├── manager.py ├── pool.py ├── script.py ├── service.py ├── setting │ ├── __init__.py │ ├── default_component.py │ ├── default_connection_component.py │ ├── default_errcode.py │ └── default_logging.py ├── spec │ ├── __init__.py │ ├── idl │ │ ├── __init__.py │ │ ├── ast.py │ │ ├── lexer.py │ │ └── parser.py │ ├── req.py │ └── torcelery.py ├── task.py ├── test │ ├── __init__.py │ ├── client.py │ ├── config │ │ ├── component.ini │ │ ├── config.ini │ │ ├── service.ini │ │ ├── task.ini │ │ └── worker.ini │ ├── configuration.py │ ├── fastweb_thrift_async │ │ ├── HelloService │ │ │ ├── HelloService-remote │ │ │ ├── HelloService.py │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ └── ttypes.py │ │ └── __init__.py │ ├── fastweb_thrift_sync │ │ ├── HelloService │ │ │ ├── HelloService-remote │ │ │ ├── HelloService.py │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ └── ttypes.py │ │ └── __init__.py │ ├── idls │ │ └── HelloService.thrift │ ├── interactive.py │ ├── mongo.py │ ├── process.py │ ├── service_handlers │ │ ├── __init__.py │ │ └── hello.py │ ├── service_server.py │ ├── some_tasks │ │ ├── __init__.py │ │ └── add.py │ ├── system.py │ ├── task.py │ ├── test_loader.py │ ├── test_manager.py │ ├── test_mongo.py │ ├── test_mysql.py │ ├── test_pool.py │ ├── test_redis.py │ ├── test_thrift.py │ ├── tool.py │ ├── tormysql.py │ ├── web.py │ └── worker.py ├── torcelery.py ├── util │ ├── __init__.py │ ├── configuration.py │ ├── log.py │ ├── option.py │ ├── process.py │ ├── python.py │ ├── thread.py │ ├── tool.py │ └── track.py └── web.py ├── maint └── run_autopep8.sh ├── requirements.txt └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | build/ 3 | dist/ 4 | fastweb.egg-info/ 5 | *.log* 6 | *.swp 7 | *.un~ 8 | .eggs/ 9 | .idea/ 10 | *.rdb 11 | docs/_build 12 | .cache 13 | *.bak 14 | clean.sh 15 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "fastweb-docs"] 2 | path = fastweb-docs 3 | url = https://github.com/BSlience/fastweb-docs.git 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | services: 2 | - mysql 3 | - mongodb 4 | - redis-server 5 | - rabbitmq 6 | language: python 7 | sudo: required 8 | cache: pip 9 | python: 10 | - '2.7' 11 | os: 12 | - 'linux' 13 | script: 14 | - python setup.py install 15 | - python fastweb/test/service_server.py & 16 | - pytest 17 | 18 | -------------------------------------------------------------------------------- /ROADMAP.md: -------------------------------------------------------------------------------- 1 | 3 service和task层的测试用例覆盖率不够 2 | 4 导入系统,单独模块导入问题 3 | 5 性能测试工具 4 | 6 gevent集成 5 | 11 thrift 安装集成 6 | 12 thrift工具功能细化 7 | 13 在存在fastweb进程启动期间,使用scrip等,会出现日志打印到之前的设置中 8 | 14 连接池上线控制 9 | 15 同步启动就rescue 10 | 16 web透传requestid到service层 11 | 17 service层的handler只加载对外开放的函数,其他不加载,加载service时可以使用thrift idl parse做些工作 12 | 19 log filter,某些场景需要过滤日志级别,比如脚本 13 | load component + filter 14 | 20 service 进入和出口时打印日志 15 | 21 异步连接池scale机制问题 16 | 22 不通过thrift来手动生成thrift hub,而是通过框架自动生成 17 | 23 service 的加载方式不是很好(可以更简单) 18 | 24 task 的加载方式不是很好(可以更易懂) 19 | 25 mysql到redis的自动缓存(目前都是业务层做的) 20 | 21 | 22 | ♦︎ 连接池初始化后,中途mysql连接断开reconnect时增加超时时间,防止请求时长时间不返回 23 | ping机制也会等待很长时间(与tornado内部异常机制有关) 24 | 25 | ♦ 同步调用系统命令多进程性能问题,调研是否可以使用subprocess32来取代,或者使用长期打开的subprocess进行处理 26 | 27 | ♦ 各个模块测试场景覆盖,test框架完善 28 | 29 | ♦ 考虑集成Locust完成测试 30 | 31 | ♦ tox集成测试 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /assets/features/features.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/assets/features/features.png -------------------------------------------------------------------------------- /assets/logo/favicon.psb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/assets/logo/favicon.psb -------------------------------------------------------------------------------- /assets/logo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/assets/logo/logo.png -------------------------------------------------------------------------------- /assets/logo/logo.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/assets/logo/logo.psd -------------------------------------------------------------------------------- /examples/service/call_service.ini: -------------------------------------------------------------------------------- 1 | [tftrpc:test_service] 2 | host = localhost 3 | port = 7777 4 | thrift_module = fastweb_thrift_sync.HelloService.HelloService 5 | -------------------------------------------------------------------------------- /examples/service/component.ini: -------------------------------------------------------------------------------- 1 | [mysql:test_mysql] 2 | host = localhost 3 | port = 3306 4 | user = root 5 | password = 1a2s3dqwe 6 | db = mysql 7 | timeout = 5 8 | charset=utf8 9 | size=5 10 | awake = 300 -------------------------------------------------------------------------------- /examples/service/fastweb_thrift_async/HelloService/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ['ttypes', 'constants', 'HelloService'] 2 | -------------------------------------------------------------------------------- /examples/service/fastweb_thrift_async/HelloService/constants.py: -------------------------------------------------------------------------------- 1 | # 2 | # Autogenerated by Thrift Compiler (0.10.0) 3 | # 4 | # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 5 | # 6 | # options string: py:tornado 7 | # 8 | 9 | from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException 10 | from thrift.protocol.TProtocol import TProtocolException 11 | import sys 12 | from .ttypes import * 13 | -------------------------------------------------------------------------------- /examples/service/fastweb_thrift_async/HelloService/ttypes.py: -------------------------------------------------------------------------------- 1 | # 2 | # Autogenerated by Thrift Compiler (0.10.0) 3 | # 4 | # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 5 | # 6 | # options string: py:tornado 7 | # 8 | 9 | from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException 10 | from thrift.protocol.TProtocol import TProtocolException 11 | import sys 12 | 13 | from thrift.transport import TTransport 14 | -------------------------------------------------------------------------------- /examples/service/fastweb_thrift_async/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/examples/service/fastweb_thrift_async/__init__.py -------------------------------------------------------------------------------- /examples/service/fastweb_thrift_sync/HelloService/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ['ttypes', 'constants', 'HelloService'] 2 | -------------------------------------------------------------------------------- /examples/service/fastweb_thrift_sync/HelloService/constants.py: -------------------------------------------------------------------------------- 1 | # 2 | # Autogenerated by Thrift Compiler (0.10.0) 3 | # 4 | # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 5 | # 6 | # options string: py 7 | # 8 | 9 | from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException 10 | from thrift.protocol.TProtocol import TProtocolException 11 | import sys 12 | from .ttypes import * 13 | -------------------------------------------------------------------------------- /examples/service/fastweb_thrift_sync/HelloService/ttypes.py: -------------------------------------------------------------------------------- 1 | # 2 | # Autogenerated by Thrift Compiler (0.10.0) 3 | # 4 | # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 5 | # 6 | # options string: py 7 | # 8 | 9 | from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException 10 | from thrift.protocol.TProtocol import TProtocolException 11 | import sys 12 | 13 | from thrift.transport import TTransport 14 | -------------------------------------------------------------------------------- /examples/service/fastweb_thrift_sync/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/examples/service/fastweb_thrift_sync/__init__.py -------------------------------------------------------------------------------- /examples/service/handlers/HelloService.py: -------------------------------------------------------------------------------- 1 | # coding:utf8 2 | 3 | """generate by fasthrift""" 4 | 5 | 6 | from fastweb.service import ABLogic 7 | 8 | 9 | class HelloServiceHandler(ABLogic): 10 | 11 | def sayHello(self): 12 | import pdb; pdb.set_trace() 13 | print('hello') 14 | pass 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/service/handlers/__init__.py: -------------------------------------------------------------------------------- 1 | """generate from fasthrift""" -------------------------------------------------------------------------------- /examples/service/idls/HelloService.thrift: -------------------------------------------------------------------------------- 1 | service HelloService { 2 | string sayHello() 3 | } 4 | 5 | -------------------------------------------------------------------------------- /examples/service/server.py: -------------------------------------------------------------------------------- 1 | # coding:utf8 2 | 3 | 4 | from fastweb.loader import app 5 | from fastweb.service import start_service_server 6 | 7 | 8 | if __name__ == '__main__': 9 | app.load_recorder('service.log', system_level='DEBUG') 10 | app.load_component(layout='service', backend='ini', path='service.ini') 11 | app.load_component(layout='service', backend='ini', path='component.ini') 12 | start_service_server() 13 | 14 | -------------------------------------------------------------------------------- /examples/service/service.ini: -------------------------------------------------------------------------------- 1 | [service:test_service] 2 | name = test_service 3 | port = 7777 4 | thrift_module = fastweb_thrift_sync.HelloService.HelloService 5 | handlers = service_handlers.hello.HelloServiceHandler 6 | active = yes 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/service/service_handlers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/examples/service/service_handlers/__init__.py -------------------------------------------------------------------------------- /examples/service/service_handlers/hello.py: -------------------------------------------------------------------------------- 1 | # coding:utf8 2 | 3 | 4 | from fastweb.service import ABLogic 5 | 6 | 7 | class HelloServiceHandler(ABLogic): 8 | def sayHello(self): 9 | # self.test_mysql.query('select * from entity_question limit 20;') 10 | # print self.test_mysql.fetch() 11 | # import pdb; pdb.Pdb().set_trace() 12 | print('sayHello') 13 | return 'hello' 14 | -------------------------------------------------------------------------------- /examples/service/tservice.ini: -------------------------------------------------------------------------------- 1 | ; fastthrift gen template 2 | 3 | [service:service_name] 4 | port = 5 | thrift_module = fastweb_thrift_async.HelloService.HelloService 6 | handlers = 7 | active = yes 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/task/some_tasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/examples/task/some_tasks/__init__.py -------------------------------------------------------------------------------- /examples/task/some_tasks/add.py: -------------------------------------------------------------------------------- 1 | # coding:utf8 2 | 3 | import time 4 | 5 | 6 | class Add(object): 7 | 8 | def run(self, x, y): 9 | print('worker') 10 | print('啊啊啊啊啊啊啊啊') 11 | print(self) 12 | print((x+y)) 13 | print((self.test)) 14 | print((self.test.query('select * from mysql.user;'))) 15 | time.sleep(3) 16 | return x+y 17 | 18 | 19 | -------------------------------------------------------------------------------- /examples/task/task.ini: -------------------------------------------------------------------------------- 1 | [worker:test_task] 2 | broker = amqp://guest:guest@localhost:5672// 3 | backend = redis://localhost/0 4 | task_class = some_tasks.add.Add 5 | queue = test_task_queue 6 | exchange = test_task_exchange 7 | routing_key = test_task_routing_key 8 | 9 | [mysql:test] 10 | host = localhost 11 | port = 3306 12 | user = root 13 | password = 1a2s3dqwe 14 | db = mysql 15 | timeout = 5 16 | size = 1 -------------------------------------------------------------------------------- /examples/task/task_worker.py: -------------------------------------------------------------------------------- 1 | # coding:utf8 2 | 3 | from fastweb.loader import app 4 | from fastweb.task import start_task_worker 5 | 6 | 7 | if __name__ == '__main__': 8 | app.load_recorder('task.log', system_level='DEBUG') 9 | app.load_component(layout='task', backend='ini', path='task.ini') 10 | start_task_worker() 11 | -------------------------------------------------------------------------------- /examples/web/config.ini: -------------------------------------------------------------------------------- 1 | ;[tftrpc:hello_service] 2 | ;host = localhost 3 | ;port = 7777 4 | ;thrift_module = fastweb_thrift_async.HelloService.HelloService 5 | ;size = 5 6 | 7 | [mysql:test_mysql] 8 | host = 10.60.0.36 9 | port = 3306 10 | user = admin 11 | password = qq9527@xdf 12 | db = neworiental 13 | timeout = 5 14 | charset=utf8 15 | size=5 16 | awake = 300 17 | 18 | #[mysql:test_mysql] 19 | #host = localhost 20 | #port = 3306 21 | #user = root 22 | ;password = 1a2s3dqwe 23 | ;db = mysql 24 | ;timeout = 5 25 | ;size=30 26 | # 27 | #[mongo:test_mongo] 28 | #host = localhost 29 | #port = 27017 30 | #timeout = 10 31 | # 32 | [redis:test_redis] 33 | host = localhost 34 | port = 6379 35 | db = 1 36 | 37 | -------------------------------------------------------------------------------- /examples/web/fastweb_thrift_async/HelloService/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ['ttypes', 'constants', 'HelloService', 'HelloService1'] 2 | -------------------------------------------------------------------------------- /examples/web/fastweb_thrift_async/HelloService/constants.py: -------------------------------------------------------------------------------- 1 | # 2 | # Autogenerated by Thrift Compiler (0.10.0) 3 | # 4 | # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 5 | # 6 | # options string: py:tornado 7 | # 8 | 9 | from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException 10 | from thrift.protocol.TProtocol import TProtocolException 11 | import sys 12 | from .ttypes import * 13 | -------------------------------------------------------------------------------- /examples/web/fastweb_thrift_async/HelloService/ttypes.py: -------------------------------------------------------------------------------- 1 | # 2 | # Autogenerated by Thrift Compiler (0.10.0) 3 | # 4 | # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 5 | # 6 | # options string: py:tornado 7 | # 8 | 9 | from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException 10 | from thrift.protocol.TProtocol import TProtocolException 11 | import sys 12 | 13 | from thrift.transport import TTransport 14 | -------------------------------------------------------------------------------- /examples/web/fastweb_thrift_async/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/examples/web/fastweb_thrift_async/__init__.py -------------------------------------------------------------------------------- /examples/web/handlers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/examples/web/handlers/__init__.py -------------------------------------------------------------------------------- /examples/web/some_tasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/examples/web/some_tasks/__init__.py -------------------------------------------------------------------------------- /examples/web/some_tasks/add.py: -------------------------------------------------------------------------------- 1 | # coding:utf8 2 | 3 | 4 | class Add(object): 5 | 6 | def run(self, x, y): 7 | print('web') 8 | print(self) 9 | print((x+y)) 10 | return(x+y) 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/web/task.ini: -------------------------------------------------------------------------------- 1 | [task:test_task] 2 | broker = amqp://guest:guest@localhost:5672// 3 | backend = redis://localhost/0 4 | amqp://guest:guest@localhost:5672// 5 | task_class = some_tasks.add.Add 6 | queue = test_task_queue 7 | exchange = test_task_exchange 8 | routing_key = test_task_routing_key 9 | -------------------------------------------------------------------------------- /fastweb-docs-1/docs/.vuepress/config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | themeConfig: { 3 | nav: [ 4 | { text: 'Home', link: '/' }, 5 | { text: 'Guide', link: '/guide/' }, 6 | { text: 'External', link: 'https://google.com' }, 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /fastweb-docs-1/docs/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | home: true 3 | heroImage: /logo.png 4 | actionText: Get Started → 5 | actionLink: /guide/ 6 | features: 7 | - title: Simplicity First 8 | details: Minimal setup with markdown-centered project structure helps you focus on writing. 9 | - title: Vue-Powered 10 | details: Enjoy the dev experience of Vue + webpack, use Vue components in markdown, and develop custom themes with Vue. 11 | - title: Performant 12 | details: VuePress generates pre-rendered static HTML for each page, and runs as an SPA once a page is loaded. 13 | footer: MIT Licensed | Copyright © 2018-present Evan You 14 | --- 15 | 16 | 17 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/acorn: -------------------------------------------------------------------------------- 1 | ../acorn/bin/acorn -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/atob: -------------------------------------------------------------------------------- 1 | ../atob/bin/atob.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/autoprefixer: -------------------------------------------------------------------------------- 1 | ../autoprefixer/bin/autoprefixer -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/babylon: -------------------------------------------------------------------------------- 1 | ../babylon/bin/babylon.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/browserslist: -------------------------------------------------------------------------------- 1 | ../browserslist/cli.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/cssesc: -------------------------------------------------------------------------------- 1 | ../cssesc/bin/cssesc -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/csso: -------------------------------------------------------------------------------- 1 | ../csso/bin/csso -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/envify: -------------------------------------------------------------------------------- 1 | ../envify/bin/envify -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/errno: -------------------------------------------------------------------------------- 1 | ../errno/cli.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/esparse: -------------------------------------------------------------------------------- 1 | ../esprima/bin/esparse.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/esvalidate: -------------------------------------------------------------------------------- 1 | ../esprima/bin/esvalidate.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/he: -------------------------------------------------------------------------------- 1 | ../he/bin/he -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/html-minifier: -------------------------------------------------------------------------------- 1 | ../html-minifier/cli.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/hulk: -------------------------------------------------------------------------------- 1 | ../hogan.js/bin/hulk -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/import-local-fixture: -------------------------------------------------------------------------------- 1 | ../import-local/fixtures/cli.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/is-ci: -------------------------------------------------------------------------------- 1 | ../is-ci/bin.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/js-yaml: -------------------------------------------------------------------------------- 1 | ../js-yaml/bin/js-yaml.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/jsesc: -------------------------------------------------------------------------------- 1 | ../jsesc/bin/jsesc -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/json5: -------------------------------------------------------------------------------- 1 | ../json5/lib/cli.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/loose-envify: -------------------------------------------------------------------------------- 1 | ../loose-envify/cli.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/markdown-it: -------------------------------------------------------------------------------- 1 | ../markdown-it/bin/markdown-it.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/miller-rabin: -------------------------------------------------------------------------------- 1 | ../miller-rabin/bin/miller-rabin -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | ../mime/cli.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/mkdirp: -------------------------------------------------------------------------------- 1 | ../mkdirp/bin/cmd.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/nopt: -------------------------------------------------------------------------------- 1 | ../nopt/bin/nopt.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/prettier: -------------------------------------------------------------------------------- 1 | ../prettier/bin-prettier.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/rc: -------------------------------------------------------------------------------- 1 | ../rc/cli.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/regjsparser: -------------------------------------------------------------------------------- 1 | ../regjsparser/bin/parser -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/rimraf: -------------------------------------------------------------------------------- 1 | ../rimraf/bin.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../semver/bin/semver -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/sha.js: -------------------------------------------------------------------------------- 1 | ../sha.js/bin.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/stylus: -------------------------------------------------------------------------------- 1 | ../stylus/bin/stylus -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/svgo: -------------------------------------------------------------------------------- 1 | ../svgo/bin/svgo -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/uglifyjs: -------------------------------------------------------------------------------- 1 | ../uglify-js/bin/uglifyjs -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/uuid: -------------------------------------------------------------------------------- 1 | ../uuid/bin/uuid -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/vuepress: -------------------------------------------------------------------------------- 1 | ../vuepress/bin/vuepress.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/webpack: -------------------------------------------------------------------------------- 1 | ../webpack/bin/webpack.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/webpack-serve: -------------------------------------------------------------------------------- 1 | ../webpack-serve/cli.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/.bin/which: -------------------------------------------------------------------------------- 1 | ../which/bin/which -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/@vue/babel-preset-app/polyfillsPlugin.js: -------------------------------------------------------------------------------- 1 | // add polyfill imports to the first file encountered. 2 | module.exports = ({ types }) => { 3 | let entryFile 4 | return { 5 | name: 'vue-cli-inject-polyfills', 6 | visitor: { 7 | Program (path, state) { 8 | if (!entryFile) { 9 | entryFile = state.filename 10 | } else if (state.filename !== entryFile) { 11 | return 12 | } 13 | 14 | const { polyfills } = state.opts 15 | const { createImport } = require('@babel/preset-env/lib/utils') 16 | polyfills.forEach(p => { 17 | createImport(path, p) 18 | }) 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/@vue/component-compiler-utils/.circleci/config.yml: -------------------------------------------------------------------------------- 1 | # Javascript Node CircleCI 2.0 configuration file 2 | # 3 | # Check https://circleci.com/docs/2.0/language-javascript/ for more details 4 | # 5 | version: 2 6 | jobs: 7 | build: 8 | docker: 9 | - image: circleci/node:6 10 | 11 | working_directory: ~/repo 12 | 13 | steps: 14 | - checkout 15 | 16 | # Download and cache dependencies 17 | - restore_cache: 18 | keys: 19 | - v1-dependencies-{{ checksum "package.json" }} 20 | # fallback to using the latest cache if no exact match is found 21 | - v1-dependencies- 22 | 23 | - run: yarn install 24 | 25 | - save_cache: 26 | paths: 27 | - node_modules 28 | key: v1-dependencies-{{ checksum "package.json" }} 29 | 30 | # run tests! 31 | - run: yarn test 32 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/@vue/component-compiler-utils/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | semi: false, 3 | singleQuote: true 4 | } 5 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/@vue/component-compiler-utils/lib/index.ts: -------------------------------------------------------------------------------- 1 | import { parse, SFCBlock, SFCCustomBlock, SFCDescriptor } from './parse' 2 | 3 | import { 4 | compileTemplate, 5 | TemplateCompileOptions, 6 | TemplateCompileResult 7 | } from './compileTemplate' 8 | 9 | import { 10 | compileStyle, 11 | compileStyleAsync, 12 | StyleCompileOptions, 13 | StyleCompileResults 14 | } from './compileStyle' 15 | 16 | // API 17 | export { parse, compileTemplate, compileStyle, compileStyleAsync } 18 | 19 | // types 20 | export { 21 | SFCBlock, 22 | SFCCustomBlock, 23 | SFCDescriptor, 24 | TemplateCompileOptions, 25 | TemplateCompileResult, 26 | StyleCompileOptions, 27 | StyleCompileResults 28 | } 29 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/@vue/component-compiler-utils/lib/stylePlugins/trim.ts: -------------------------------------------------------------------------------- 1 | import { Root } from 'postcss' 2 | import * as postcss from 'postcss' 3 | 4 | export default postcss.plugin('trim', () => (css: Root) => { 5 | css.walk(({ type, raws }) => { 6 | if (type === 'rule' || type === 'atrule') { 7 | raws.before = raws.after = '\n' 8 | } 9 | }) 10 | }) 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/@vue/component-compiler-utils/lib/templateCompilerModules/utils.ts: -------------------------------------------------------------------------------- 1 | export interface Attr { 2 | name: string 3 | value: string 4 | } 5 | 6 | export interface ASTNode { 7 | tag: string 8 | attrs: Attr[] 9 | } 10 | 11 | export function urlToRequire(url: string): string { 12 | // same logic as in transform-require.js 13 | const firstChar = url.charAt(0) 14 | if (firstChar === '.' || firstChar === '~' || firstChar === '@') { 15 | if (firstChar === '~') { 16 | const secondChar = url.charAt(1) 17 | url = url.slice(secondChar === '/' ? 2 : 1) 18 | } 19 | return `require("${url}")` 20 | } else { 21 | return `"${url}"` 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/@xtuc/long/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./src/long"); 2 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/acorn/bin/acorn: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | 4 | require('./_acorn.js'); 5 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/acorn/bin/run_test262.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs") 2 | const path = require("path") 3 | const run = require("test262-parser-runner") 4 | const parse = require("..").parse 5 | 6 | const unsupportedFeatures = [ 7 | "BigInt", 8 | "class-fields", 9 | "class-fields-private", 10 | "class-fields-public", 11 | "numeric-separator-literal" 12 | ]; 13 | 14 | run( 15 | (content, {sourceType}) => parse(content, {sourceType, ecmaVersion: 10}), 16 | { 17 | testsDirectory: path.dirname(require.resolve("test262/package.json")), 18 | skip: test => (test.attrs.features && unsupportedFeatures.some(f => test.attrs.features.includes(f))), 19 | whitelist: fs.readFileSync("./bin/test262.whitelist", "utf8").split("\n").filter(v => v) 20 | } 21 | ) 22 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/.tonic_example.js: -------------------------------------------------------------------------------- 1 | var Ajv = require('ajv'); 2 | var ajv = new Ajv({allErrors: true}); 3 | 4 | var schema = { 5 | "properties": { 6 | "foo": { "type": "string" }, 7 | "bar": { "type": "number", "maximum": 3 } 8 | } 9 | }; 10 | 11 | var validate = ajv.compile(schema); 12 | 13 | test({"foo": "abc", "bar": 2}); 14 | test({"foo": 2, "bar": 4}); 15 | 16 | function test(data) { 17 | var valid = validate(data); 18 | if (valid) console.log('Valid!'); 19 | else console.log('Invalid: ' + ajv.errorsText(validate.errors)); 20 | } -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/cache.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | var Cache = module.exports = function Cache() { 5 | this._cache = {}; 6 | }; 7 | 8 | 9 | Cache.prototype.put = function Cache_put(key, value) { 10 | this._cache[key] = value; 11 | }; 12 | 13 | 14 | Cache.prototype.get = function Cache_get(key) { 15 | return this._cache[key]; 16 | }; 17 | 18 | 19 | Cache.prototype.del = function Cache_del(key) { 20 | delete this._cache[key]; 21 | }; 22 | 23 | 24 | Cache.prototype.clear = function Cache_clear() { 25 | this._cache = {}; 26 | }; 27 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/compile/equal.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('fast-deep-equal'); 4 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/compile/error_classes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var resolve = require('./resolve'); 4 | 5 | module.exports = { 6 | Validation: errorSubclass(ValidationError), 7 | MissingRef: errorSubclass(MissingRefError) 8 | }; 9 | 10 | 11 | function ValidationError(errors) { 12 | this.message = 'validation failed'; 13 | this.errors = errors; 14 | this.ajv = this.validation = true; 15 | } 16 | 17 | 18 | MissingRefError.message = function (baseId, ref) { 19 | return 'can\'t resolve reference ' + ref + ' from id ' + baseId; 20 | }; 21 | 22 | 23 | function MissingRefError(baseId, ref, message) { 24 | this.message = message || MissingRefError.message(baseId, ref); 25 | this.missingRef = resolve.url(baseId, ref); 26 | this.missingSchema = resolve.normalizeId(resolve.fullPath(this.missingRef)); 27 | } 28 | 29 | 30 | function errorSubclass(Subclass) { 31 | Subclass.prototype = Object.create(Error.prototype); 32 | Subclass.prototype.constructor = Subclass; 33 | return Subclass; 34 | } 35 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/compile/schema_obj.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var util = require('./util'); 4 | 5 | module.exports = SchemaObject; 6 | 7 | function SchemaObject(obj) { 8 | util.copy(obj, this); 9 | } 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/compile/ucs2length.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // https://mathiasbynens.be/notes/javascript-encoding 4 | // https://github.com/bestiejs/punycode.js - punycode.ucs2.decode 5 | module.exports = function ucs2length(str) { 6 | var length = 0 7 | , len = str.length 8 | , pos = 0 9 | , value; 10 | while (pos < len) { 11 | length++; 12 | value = str.charCodeAt(pos++); 13 | if (value >= 0xD800 && value <= 0xDBFF && pos < len) { 14 | // high surrogate, and there is a next character 15 | value = str.charCodeAt(pos); 16 | if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate 17 | } 18 | } 19 | return length; 20 | }; 21 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/_limitItems.jst: -------------------------------------------------------------------------------- 1 | {{# def.definitions }} 2 | {{# def.errors }} 3 | {{# def.setupKeyword }} 4 | {{# def.$data }} 5 | 6 | {{ var $op = $keyword == 'maxItems' ? '>' : '<'; }} 7 | if ({{# def.$dataNotType:'number' }} {{=$data}}.length {{=$op}} {{=$schemaValue}}) { 8 | {{ var $errorKeyword = $keyword; }} 9 | {{# def.error:'_limitItems' }} 10 | } {{? $breakOnError }} else { {{?}} 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/_limitLength.jst: -------------------------------------------------------------------------------- 1 | {{# def.definitions }} 2 | {{# def.errors }} 3 | {{# def.setupKeyword }} 4 | {{# def.$data }} 5 | 6 | {{ var $op = $keyword == 'maxLength' ? '>' : '<'; }} 7 | if ({{# def.$dataNotType:'number' }} {{# def.strLength }} {{=$op}} {{=$schemaValue}}) { 8 | {{ var $errorKeyword = $keyword; }} 9 | {{# def.error:'_limitLength' }} 10 | } {{? $breakOnError }} else { {{?}} 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/_limitProperties.jst: -------------------------------------------------------------------------------- 1 | {{# def.definitions }} 2 | {{# def.errors }} 3 | {{# def.setupKeyword }} 4 | {{# def.$data }} 5 | 6 | {{ var $op = $keyword == 'maxProperties' ? '>' : '<'; }} 7 | if ({{# def.$dataNotType:'number' }} Object.keys({{=$data}}).length {{=$op}} {{=$schemaValue}}) { 8 | {{ var $errorKeyword = $keyword; }} 9 | {{# def.error:'_limitProperties' }} 10 | } {{? $breakOnError }} else { {{?}} 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/allOf.jst: -------------------------------------------------------------------------------- 1 | {{# def.definitions }} 2 | {{# def.errors }} 3 | {{# def.setupKeyword }} 4 | {{# def.setupNextLevel }} 5 | 6 | {{ 7 | var $currentBaseId = $it.baseId 8 | , $allSchemasEmpty = true; 9 | }} 10 | 11 | {{~ $schema:$sch:$i }} 12 | {{? {{# def.nonEmptySchema:$sch }} }} 13 | {{ 14 | $allSchemasEmpty = false; 15 | $it.schema = $sch; 16 | $it.schemaPath = $schemaPath + '[' + $i + ']'; 17 | $it.errSchemaPath = $errSchemaPath + '/' + $i; 18 | }} 19 | 20 | {{# def.insertSubschemaCode }} 21 | 22 | {{# def.ifResultValid }} 23 | {{?}} 24 | {{~}} 25 | 26 | {{? $breakOnError }} 27 | {{? $allSchemasEmpty }} 28 | if (true) { 29 | {{??}} 30 | {{= $closingBraces.slice(0,-1) }} 31 | {{?}} 32 | {{?}} 33 | 34 | {{# def.cleanUp }} 35 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/comment.jst: -------------------------------------------------------------------------------- 1 | {{# def.definitions }} 2 | {{# def.setupKeyword }} 3 | 4 | {{ var $comment = it.util.toQuotedString($schema); }} 5 | {{? it.opts.$comment === true }} 6 | console.log({{=$comment}}); 7 | {{?? typeof it.opts.$comment == 'function' }} 8 | self._opts.$comment({{=$comment}}, {{=it.util.toQuotedString($errSchemaPath)}}, validate.root.schema); 9 | {{?}} 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/const.jst: -------------------------------------------------------------------------------- 1 | {{# def.definitions }} 2 | {{# def.errors }} 3 | {{# def.setupKeyword }} 4 | {{# def.$data }} 5 | 6 | {{? !$isData }} 7 | var schema{{=$lvl}} = validate.schema{{=$schemaPath}}; 8 | {{?}} 9 | var {{=$valid}} = equal({{=$data}}, schema{{=$lvl}}); 10 | {{# def.checkError:'const' }} 11 | {{? $breakOnError }} else { {{?}} 12 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/defaults.def: -------------------------------------------------------------------------------- 1 | {{## def.assignDefault: 2 | if ({{=$passData}} === undefined) 3 | {{=$passData}} = {{? it.opts.useDefaults == 'shared' }} 4 | {{= it.useDefault($sch.default) }} 5 | {{??}} 6 | {{= JSON.stringify($sch.default) }} 7 | {{?}}; 8 | #}} 9 | 10 | 11 | {{## def.defaultProperties: 12 | {{ 13 | var $schema = it.schema.properties 14 | , $schemaKeys = Object.keys($schema); }} 15 | {{~ $schemaKeys:$propertyKey }} 16 | {{ var $sch = $schema[$propertyKey]; }} 17 | {{? $sch.default !== undefined }} 18 | {{ var $passData = $data + it.util.getProperty($propertyKey); }} 19 | {{# def.assignDefault }} 20 | {{?}} 21 | {{~}} 22 | #}} 23 | 24 | 25 | {{## def.defaultItems: 26 | {{~ it.schema.items:$sch:$i }} 27 | {{? $sch.default !== undefined }} 28 | {{ var $passData = $data + '[' + $i + ']'; }} 29 | {{# def.assignDefault }} 30 | {{?}} 31 | {{~}} 32 | #}} 33 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/enum.jst: -------------------------------------------------------------------------------- 1 | {{# def.definitions }} 2 | {{# def.errors }} 3 | {{# def.setupKeyword }} 4 | {{# def.$data }} 5 | 6 | {{ 7 | var $i = 'i' + $lvl 8 | , $vSchema = 'schema' + $lvl; 9 | }} 10 | 11 | {{? !$isData }} 12 | var {{=$vSchema}} = validate.schema{{=$schemaPath}}; 13 | {{?}} 14 | var {{=$valid}}; 15 | 16 | {{?$isData}}{{# def.check$dataIsArray }}{{?}} 17 | 18 | {{=$valid}} = false; 19 | 20 | for (var {{=$i}}=0; {{=$i}}<{{=$vSchema}}.length; {{=$i}}++) 21 | if (equal({{=$data}}, {{=$vSchema}}[{{=$i}}])) { 22 | {{=$valid}} = true; 23 | break; 24 | } 25 | 26 | {{? $isData }} } {{?}} 27 | 28 | {{# def.checkError:'enum' }} 29 | 30 | {{? $breakOnError }} else { {{?}} 31 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/multipleOf.jst: -------------------------------------------------------------------------------- 1 | {{# def.definitions }} 2 | {{# def.errors }} 3 | {{# def.setupKeyword }} 4 | {{# def.$data }} 5 | 6 | var division{{=$lvl}}; 7 | if ({{?$isData}} 8 | {{=$schemaValue}} !== undefined && ( 9 | typeof {{=$schemaValue}} != 'number' || 10 | {{?}} 11 | (division{{=$lvl}} = {{=$data}} / {{=$schemaValue}}, 12 | {{? it.opts.multipleOfPrecision }} 13 | Math.abs(Math.round(division{{=$lvl}}) - division{{=$lvl}}) > 1e-{{=it.opts.multipleOfPrecision}} 14 | {{??}} 15 | division{{=$lvl}} !== parseInt(division{{=$lvl}}) 16 | {{?}} 17 | ) 18 | {{?$isData}} ) {{?}} ) { 19 | {{# def.error:'multipleOf' }} 20 | } {{? $breakOnError }} else { {{?}} 21 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dot/pattern.jst: -------------------------------------------------------------------------------- 1 | {{# def.definitions }} 2 | {{# def.errors }} 3 | {{# def.setupKeyword }} 4 | {{# def.$data }} 5 | 6 | {{ 7 | var $regexp = $isData 8 | ? '(new RegExp(' + $schemaValue + '))' 9 | : it.usePattern($schema); 10 | }} 11 | 12 | if ({{# def.$dataNotType:'string' }} !{{=$regexp}}.test({{=$data}}) ) { 13 | {{# def.error:'pattern' }} 14 | } {{? $breakOnError }} else { {{?}} 15 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dotjs/README.md: -------------------------------------------------------------------------------- 1 | These files are compiled dot templates from dot folder. 2 | 3 | Do NOT edit them directly, edit the templates and run `npm run build` from main ajv folder. 4 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/dotjs/comment.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function generate_comment(it, $keyword, $ruleType) { 3 | var out = ' '; 4 | var $schema = it.schema[$keyword]; 5 | var $errSchemaPath = it.errSchemaPath + '/' + $keyword; 6 | var $breakOnError = !it.opts.allErrors; 7 | var $comment = it.util.toQuotedString($schema); 8 | if (it.opts.$comment === true) { 9 | out += ' console.log(' + ($comment) + ');'; 10 | } else if (typeof it.opts.$comment == 'function') { 11 | out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);'; 12 | } 13 | return out; 14 | } 15 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/lib/refs/data.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#", 4 | "description": "Meta-schema for $data reference (JSON Schema extension proposal)", 5 | "type": "object", 6 | "required": [ "$data" ], 7 | "properties": { 8 | "$data": { 9 | "type": "string", 10 | "anyOf": [ 11 | { "format": "relative-json-pointer" }, 12 | { "format": "json-pointer" } 13 | ] 14 | } 15 | }, 16 | "additionalProperties": false 17 | } 18 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/scripts/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | rules: 2 | no-console: 0 3 | no-empty: [2, allowEmptyCatch: true] 4 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/scripts/info: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | var fs = require('fs'); 6 | var name = process.argv[2] || '.'; 7 | var property = process.argv[3] || 'version'; 8 | if (name != '.') name = 'node_modules/' + name; 9 | var json = JSON.parse(fs.readFileSync(name + '/package.json', 'utf8')); 10 | console.log(json[property]); 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/scripts/prepare-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | set -e 4 | 5 | mkdir -p .browser 6 | 7 | find spec -type f -name '*.spec.js' | \ 8 | xargs -I {} sh -c \ 9 | 'export f="{}"; browserify $f -t require-globify -t brfs -x ajv -u buffer -o $(echo $f | sed -e "s/spec/.browser/");' 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/scripts/publish-built-version: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | if [[ -n $TRAVIS_TAG && $TRAVIS_JOB_NUMBER =~ ".3" ]]; then 6 | echo "About to publish $TRAVIS_TAG to ajv-dist..." 7 | 8 | git config user.email "$GIT_USER_EMAIL" 9 | git config user.name "$GIT_USER_NAME" 10 | 11 | git clone https://${GITHUB_TOKEN}@github.com/epoberezkin/ajv-dist.git ../ajv-dist 12 | 13 | rm -rf ../ajv-dist/dist 14 | mkdir ../ajv-dist/dist 15 | cp ./dist/ajv.* ../ajv-dist/dist 16 | cat bower.json | sed 's/"name": "ajv"/"name": "ajv-dist"/' > ../ajv-dist/bower.json 17 | cd ../ajv-dist 18 | 19 | if [[ `git status --porcelain` ]]; then 20 | echo "Changes detected. Updating master branch..." 21 | git add -A 22 | git commit -m "updated by travis build #$TRAVIS_BUILD_NUMBER" 23 | git push --quiet origin master > /dev/null 2>&1 24 | fi 25 | 26 | echo "Publishing tag..." 27 | 28 | git tag $TRAVIS_TAG 29 | git push --tags > /dev/null 2>&1 30 | 31 | echo "Done" 32 | fi 33 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ajv/scripts/travis-gh-pages: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" && $TRAVIS_JOB_NUMBER =~ ".3" ]]; then 6 | git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qE '\.md$|^LICENSE$|travis-gh-pages$' && { 7 | rm -rf ../gh-pages 8 | git clone -b gh-pages --single-branch https://${GITHUB_TOKEN}@github.com/epoberezkin/ajv.git ../gh-pages 9 | mkdir -p ../gh-pages/_source 10 | cp *.md ../gh-pages/_source 11 | cp LICENSE ../gh-pages/_source 12 | currentDir=$(pwd) 13 | cd ../gh-pages 14 | $currentDir/node_modules/.bin/gh-pages-generator 15 | # remove logo from README 16 | sed -i -E "s/]+ajv_logo[^>]+>//" index.md 17 | git config user.email "$GIT_USER_EMAIL" 18 | git config user.name "$GIT_USER_NAME" 19 | git add . 20 | git commit -am "updated by travis build #$TRAVIS_BUILD_NUMBER" 21 | git push --quiet origin gh-pages > /dev/null 2>&1 22 | } 23 | fi 24 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/atob/bin/atob.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | 4 | var atob = require('../node-atob'); 5 | var str = process.argv[2]; 6 | console.log(atob(str)); 7 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/atob/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "atob", 3 | "description": "atob for isomorphic environments", 4 | "main": "browser-atob.js", 5 | "authors": [ 6 | "AJ ONeal (https://coolaj86.com)" 7 | ], 8 | "license": "(MIT OR Apache-2.0)", 9 | "keywords": [ 10 | "atob", 11 | "browser" 12 | ], 13 | "homepage": "https://github.com/node-browser-compat/atob", 14 | "moduleType": [ 15 | "globals" 16 | ], 17 | "ignore": [ 18 | "**/.*", 19 | "node_modules", 20 | "bower_components", 21 | "test", 22 | "tests" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/atob/node-atob.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | function atob(str) { 4 | return Buffer.from(str, 'base64').toString('binary'); 5 | } 6 | 7 | module.exports = atob.atob = atob; 8 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/atob/test.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | "use strict"; 3 | 4 | var atob = require('.'); 5 | var encoded = "SGVsbG8sIFdvcmxkIQ==" 6 | var unencoded = "Hello, World!"; 7 | /* 8 | , encoded = "SGVsbG8sIBZM" 9 | , unencoded = "Hello, 世界" 10 | */ 11 | 12 | if (unencoded !== atob(encoded)) { 13 | console.log('[FAIL]', unencoded, atob(encoded)); 14 | return; 15 | } 16 | 17 | console.log('[PASS] all tests pass'); 18 | }()); 19 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/base/node_modules/define-property/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * define-property 3 | * 4 | * Copyright (c) 2015, 2017, Jon Schlinkert. 5 | * Released under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var isDescriptor = require('is-descriptor'); 11 | 12 | module.exports = function defineProperty(obj, prop, val) { 13 | if (typeof obj !== 'object' && typeof obj !== 'function') { 14 | throw new TypeError('expected an object or function.'); 15 | } 16 | 17 | if (typeof prop !== 'string') { 18 | throw new TypeError('expected `prop` to be a string.'); 19 | } 20 | 21 | if (isDescriptor(val) && ('set' in val || 'get' in val)) { 22 | return Object.defineProperty(obj, prop, val); 23 | } 24 | 25 | return Object.defineProperty(obj, prop, { 26 | configurable: true, 27 | enumerable: false, 28 | writable: true, 29 | value: val 30 | }); 31 | }; 32 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/base/node_modules/is-descriptor/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * is-descriptor 3 | * 4 | * Copyright (c) 2015-2017, Jon Schlinkert. 5 | * Released under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var typeOf = require('kind-of'); 11 | var isAccessor = require('is-accessor-descriptor'); 12 | var isData = require('is-data-descriptor'); 13 | 14 | module.exports = function isDescriptor(obj, key) { 15 | if (typeOf(obj) !== 'object') { 16 | return false; 17 | } 18 | if ('get' in obj) { 19 | return isAccessor(obj, key); 20 | } 21 | return isData(obj, key); 22 | }; 23 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/base/node_modules/isobject/index.d.ts: -------------------------------------------------------------------------------- 1 | export = isObject; 2 | 3 | declare function isObject(val: any): boolean; 4 | 5 | declare namespace isObject {} 6 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/base/node_modules/isobject/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * isobject 3 | * 4 | * Copyright (c) 2014-2017, Jon Schlinkert. 5 | * Released under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | module.exports = function isObject(val) { 11 | return val != null && typeof val === 'object' && Array.isArray(val) === false; 12 | }; 13 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/clap/README.md: -------------------------------------------------------------------------------- 1 | [![NPM version](https://img.shields.io/npm/v/clap.svg)](https://www.npmjs.com/package/clap) 2 | [![Dependency Status](https://img.shields.io/david/lahmatiy/clap.svg)](https://david-dm.org/lahmatiy/clap) 3 | [![Build Status](https://travis-ci.org/lahmatiy/clap.svg?branch=master)](https://travis-ci.org/lahmatiy/clap) 4 | 5 | # Clap.js 6 | 7 | Argument parser for command-line interfaces. It primary target to large tool sets that provides a lot of subcommands. Support for argument coercion and completion makes task run much easer, even if you doesn't use CLI. 8 | 9 | Inspired by TJ Holowaychuk [Commander](https://github.com/visionmedia/commander.js). 10 | 11 | [TODO: Complete readme] 12 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | node_modules/ 4 | !node_modules/coa*.js 5 | lib-cov/ 6 | html-report/ 7 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/.nyc_output/1f2a0db5a6d6559149db56d397f47cfc.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "0.10" 5 | - "0.11" 6 | 7 | matrix: 8 | allow_failures: 9 | - node_js: 0.11 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/GNUmakefile: -------------------------------------------------------------------------------- 1 | BIN = ./node_modules/.bin 2 | 3 | .PHONY: all 4 | all: lib 5 | 6 | lib: $(foreach s,$(wildcard src/*.coffee),$(patsubst src/%.coffee,lib/%.js,$s)) 7 | 8 | lib-cov: clean-coverage lib 9 | $(BIN)/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib 10 | 11 | lib/%.js: src/%.coffee 12 | $(BIN)/coffee -cb -o $(@D) $< 13 | 14 | .PHONY: test 15 | test: lib 16 | $(BIN)/mocha 17 | 18 | .PHONY: coverage 19 | coverage: lib-cov 20 | COVER=1 $(BIN)/mocha --reporter mocha-istanbul 21 | @echo 22 | @echo Open html-report/index.html file in your browser 23 | 24 | .PHONY: watch 25 | watch: 26 | $(BIN)/coffee --watch --bare --output lib src/*.coffee 27 | 28 | .PHONY: clean 29 | clean: clean-coverage 30 | 31 | .PHONY: clean-coverage 32 | clean-coverage: 33 | -rm -rf lib-cov 34 | -rm -rf html-report 35 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/coverage/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} 2 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/coverage/sort-arrow-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/fastweb-docs-1/node_modules/coa/coverage/sort-arrow-sprite.png -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require(process.env.COVER? './lib-cov' : './lib'); 2 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/lib/color.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.6.3 2 | var colors; 3 | 4 | colors = { 5 | black: '30', 6 | dgray: '1;30', 7 | red: '31', 8 | lred: '1;31', 9 | green: '32', 10 | lgreen: '1;32', 11 | brown: '33', 12 | yellow: '1;33', 13 | blue: '34', 14 | lblue: '1;34', 15 | purple: '35', 16 | lpurple: '1;35', 17 | cyan: '36', 18 | lcyan: '1;36', 19 | lgray: '37', 20 | white: '1;37' 21 | }; 22 | 23 | exports.Color = function(c, str) { 24 | return ['\x1B[', colors[c], 'm', str, '\x1B[m'].join(''); 25 | }; 26 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/lib/index.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.6.3 2 | exports.Cmd = require('./cmd').Cmd; 3 | 4 | exports.Opt = require('./cmd').Opt; 5 | 6 | exports.Arg = require('./cmd').Arg; 7 | 8 | exports.shell = require('./shell'); 9 | 10 | exports.require = require; 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/lib/shell.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.6.3 2 | exports.unescape = function(w) { 3 | w = w.charAt(0) === '"' ? w.replace(/^"|([^\\])"$/g, '$1') : w.replace(/\\ /g, ' '); 4 | return w.replace(/\\("|'|\$|`|\\)/g, '$1'); 5 | }; 6 | 7 | exports.escape = function(w) { 8 | w = w.replace(/(["'$`\\])/g, '\\$1'); 9 | if (w.match(/\s+/)) { 10 | return '"' + w + '"'; 11 | } else { 12 | return w; 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/qq.js: -------------------------------------------------------------------------------- 1 | const run = require('./test/util').run; 2 | 3 | // run(cmd => cmd.arg().name('qwe').end().arg().name('zxc').end().act(function(opts, args) { console.log({opts, args}); }), ['qwe', 'zxc']) // cmd and args 4 | // .then(res => { 5 | // // code 6 | // // stdout 7 | // // stderr 8 | // console.log(res); 9 | // }); 10 | 11 | run(cmd => cmd.opt().name('version').short('v').only().flag().act((opts) => { return 'aasd'; }), ['-v']) // cmd and args 12 | .then(res => { 13 | // code 14 | // stdout 15 | // stderr 16 | console.log(res); 17 | }); 18 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/src/color.coffee: -------------------------------------------------------------------------------- 1 | colors = 2 | black: '30' 3 | dgray: '1;30' 4 | red: '31' 5 | lred: '1;31' 6 | green: '32' 7 | lgreen: '1;32' 8 | brown: '33' 9 | yellow: '1;33' 10 | blue: '34' 11 | lblue: '1;34' 12 | purple: '35' 13 | lpurple: '1;35' 14 | cyan: '36' 15 | lcyan: '1;36' 16 | lgray: '37' 17 | white: '1;37' 18 | 19 | exports.Color = (c, str) -> 20 | # Use \x1B instead of \033 because of CoffeeScript 1.3.x compilation error 21 | [ 22 | '\x1B[', colors[c], 'm' 23 | str 24 | '\x1B[m' 25 | ].join '' 26 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/src/index.coffee: -------------------------------------------------------------------------------- 1 | exports.Cmd = require('./cmd').Cmd 2 | exports.Opt = require('./cmd').Opt 3 | exports.Arg = require('./cmd').Arg 4 | exports.shell = require('./shell') 5 | exports.require = require; 6 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/src/shell.coffee: -------------------------------------------------------------------------------- 1 | exports.unescape = (w) -> 2 | w = if w.charAt(0) is '"' 3 | w.replace(/^"|([^\\])"$/g, '$1') 4 | else 5 | w.replace(/\\ /g, ' ') 6 | w.replace(/\\("|'|\$|`|\\)/g, '$1') 7 | 8 | exports.escape = (w) -> 9 | w = w.replace(/(["'$`\\])/g,'\\$1') 10 | if w.match(/\s+/) then '"' + w + '"' else w 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/test/mocha.opts: -------------------------------------------------------------------------------- 1 | --reporter spec 2 | --timeout 20 3 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/tests/api-h.js: -------------------------------------------------------------------------------- 1 | require('..').Cmd() 2 | .name('bla') 3 | .title('Bla bla bla') 4 | .helpful() 5 | .invoke({ help: true }) 6 | .then(function(res) { 7 | console.log(res); 8 | }) 9 | .done(); // Q.done() 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/coa/tests/h.js: -------------------------------------------------------------------------------- 1 | var argv = process.argv.slice(2); 2 | require('..').Cmd() 3 | .name('bla') 4 | .title('Bla bla bla') 5 | .helpful() 6 | .run(argv.length? argv : ['-h']); 7 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/bin/csso: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var cli = require('../lib/cli.js'); 4 | 5 | try { 6 | cli.run(); 7 | } catch (e) { 8 | // output user frendly message if cli error 9 | if (cli.isCliError(e)) { 10 | console.error(e.message || e); 11 | process.exit(2); 12 | } 13 | 14 | // otherwise re-throw exception 15 | throw e; 16 | } 17 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/clean/Comment.js: -------------------------------------------------------------------------------- 1 | module.exports = function cleanComment(data, item, list) { 2 | list.remove(item); 3 | }; 4 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/clean/Declaration.js: -------------------------------------------------------------------------------- 1 | module.exports = function cleanDeclartion(node, item, list) { 2 | if (node.value.sequence.isEmpty()) { 3 | list.remove(item); 4 | } 5 | }; 6 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/clean/Identifier.js: -------------------------------------------------------------------------------- 1 | module.exports = function cleanIdentifier(node, item, list) { 2 | // remove useless universal selector 3 | if (this.selector !== null && node.name === '*') { 4 | // remove when universal selector isn't last 5 | if (item.next && item.next.data.type !== 'Combinator') { 6 | list.remove(item); 7 | } 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/clean/Space.js: -------------------------------------------------------------------------------- 1 | function canCleanWhitespace(node) { 2 | if (node.type !== 'Operator') { 3 | return false; 4 | } 5 | 6 | return node.value !== '+' && node.value !== '-'; 7 | } 8 | 9 | module.exports = function cleanWhitespace(node, item, list) { 10 | var prev = item.prev && item.prev.data; 11 | var next = item.next && item.next.data; 12 | 13 | if (canCleanWhitespace(prev) || canCleanWhitespace(next)) { 14 | list.remove(item); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/clean/index.js: -------------------------------------------------------------------------------- 1 | var walk = require('../../utils/walk.js').all; 2 | var handlers = { 3 | Space: require('./Space.js'), 4 | Atrule: require('./Atrule.js'), 5 | Ruleset: require('./Ruleset.js'), 6 | Declaration: require('./Declaration.js'), 7 | Identifier: require('./Identifier.js'), 8 | Comment: require('./Comment.js') 9 | }; 10 | 11 | module.exports = function(ast, usageData) { 12 | walk(ast, function(node, item, list) { 13 | if (handlers.hasOwnProperty(node.type)) { 14 | handlers[node.type].call(this, node, item, list, usageData); 15 | } 16 | }); 17 | }; 18 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/compress/Atrule.js: -------------------------------------------------------------------------------- 1 | var resolveKeyword = require('../../utils/names.js').keyword; 2 | var compressKeyframes = require('./atrule/keyframes.js'); 3 | 4 | module.exports = function(node) { 5 | // compress @keyframe selectors 6 | if (resolveKeyword(node.name).name === 'keyframes') { 7 | compressKeyframes(node); 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/compress/Number.js: -------------------------------------------------------------------------------- 1 | function packNumber(value) { 2 | // 100 -> '100' 3 | // 00100 -> '100' 4 | // +100 -> '100' 5 | // -100 -> '-100' 6 | // 0.123 -> '.123' 7 | // 0.12300 -> '.123' 8 | // 0.0 -> '' 9 | // 0 -> '' 10 | value = String(value).replace(/^(?:\+|(-))?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/, '$1$2$3'); 11 | 12 | if (value.length === 0 || value === '-') { 13 | value = '0'; 14 | } 15 | 16 | return value; 17 | }; 18 | 19 | module.exports = function(node) { 20 | node.value = packNumber(node.value); 21 | }; 22 | module.exports.pack = packNumber; 23 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/compress/String.js: -------------------------------------------------------------------------------- 1 | module.exports = function(node) { 2 | var value = node.value; 3 | 4 | // remove escaped \n, i.e. 5 | // .a { content: "foo\ 6 | // bar"} 7 | // -> 8 | // .a { content: "foobar" } 9 | value = value.replace(/\\\n/g, ''); 10 | 11 | node.value = value; 12 | }; 13 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/compress/Value.js: -------------------------------------------------------------------------------- 1 | var resolveName = require('../../utils/names.js').property; 2 | var handlers = { 3 | 'font': require('./property/font.js'), 4 | 'font-weight': require('./property/font-weight.js'), 5 | 'background': require('./property/background.js') 6 | }; 7 | 8 | module.exports = function compressValue(node) { 9 | if (!this.declaration) { 10 | return; 11 | } 12 | 13 | var property = resolveName(this.declaration.property.name); 14 | 15 | if (handlers.hasOwnProperty(property.name)) { 16 | handlers[property.name](node); 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/compress/atrule/keyframes.js: -------------------------------------------------------------------------------- 1 | module.exports = function(node) { 2 | node.block.rules.each(function(ruleset) { 3 | ruleset.selector.selectors.each(function(simpleselector) { 4 | simpleselector.sequence.each(function(data, item) { 5 | if (data.type === 'Percentage' && data.value === '100') { 6 | item.data = { 7 | type: 'Identifier', 8 | info: data.info, 9 | name: 'to' 10 | }; 11 | } else if (data.type === 'Identifier' && data.name === 'from') { 12 | item.data = { 13 | type: 'Percentage', 14 | info: data.info, 15 | value: '0' 16 | }; 17 | } 18 | }); 19 | }); 20 | }); 21 | }; 22 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/compress/index.js: -------------------------------------------------------------------------------- 1 | var walk = require('../../utils/walk.js').all; 2 | var handlers = { 3 | Atrule: require('./Atrule.js'), 4 | Attribute: require('./Attribute.js'), 5 | Value: require('./Value.js'), 6 | Dimension: require('./Dimension.js'), 7 | Percentage: require('./Number.js'), 8 | Number: require('./Number.js'), 9 | String: require('./String.js'), 10 | Url: require('./Url.js'), 11 | Hash: require('./color.js').compressHex, 12 | Identifier: require('./color.js').compressIdent, 13 | Function: require('./color.js').compressFunction 14 | }; 15 | 16 | module.exports = function(ast) { 17 | walk(ast, function(node, item, list) { 18 | if (handlers.hasOwnProperty(node.type)) { 19 | handlers[node.type].call(this, node, item, list); 20 | } 21 | }); 22 | }; 23 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/compress/property/font-weight.js: -------------------------------------------------------------------------------- 1 | module.exports = function compressFontWeight(node) { 2 | var value = node.sequence.head.data; 3 | 4 | if (value.type === 'Identifier') { 5 | switch (value.name) { 6 | case 'normal': 7 | node.sequence.head.data = { 8 | type: 'Number', 9 | info: value.info, 10 | value: '400' 11 | }; 12 | break; 13 | case 'bold': 14 | node.sequence.head.data = { 15 | type: 'Number', 16 | info: value.info, 17 | value: '700' 18 | }; 19 | break; 20 | } 21 | } 22 | }; 23 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/compressor/restructure/prepare/createDeclarationIndexer.js: -------------------------------------------------------------------------------- 1 | var translate = require('../../../utils/translate.js'); 2 | 3 | function Index() { 4 | this.seed = 0; 5 | this.map = Object.create(null); 6 | } 7 | 8 | Index.prototype.resolve = function(str) { 9 | var index = this.map[str]; 10 | 11 | if (!index) { 12 | index = ++this.seed; 13 | this.map[str] = index; 14 | } 15 | 16 | return index; 17 | }; 18 | 19 | module.exports = function createDeclarationIndexer() { 20 | var names = new Index(); 21 | var values = new Index(); 22 | 23 | return function markDeclaration(node) { 24 | var property = node.property.name; 25 | var value = translate(node.value); 26 | 27 | node.id = names.resolve(property) + (values.resolve(value) << 12); 28 | node.length = property.length + 1 + value.length; 29 | 30 | return node; 31 | }; 32 | }; 33 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/csso/lib/utils/clone.js: -------------------------------------------------------------------------------- 1 | var List = require('./list'); 2 | 3 | module.exports = function clone(node) { 4 | var result = {}; 5 | 6 | for (var key in node) { 7 | var value = node[key]; 8 | 9 | if (value) { 10 | if (Array.isArray(value)) { 11 | value = value.slice(0); 12 | } else if (value instanceof List) { 13 | value = new List(value.map(clone)); 14 | } else if (value.constructor === Object) { 15 | value = clone(value); 16 | } 17 | } 18 | 19 | result[key] = value; 20 | } 21 | 22 | return result; 23 | }; 24 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/d/.lint: -------------------------------------------------------------------------------- 1 | @root 2 | 3 | module 4 | 5 | tabs 6 | indent 2 7 | maxlen 100 8 | 9 | ass 10 | nomen 11 | plusplus 12 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/d/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules 3 | /npm-debug.log 4 | /.lintcache 5 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/d/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false # http://docs.travis-ci.com/user/workers/container-based-infrastructure/ 2 | language: node_js 3 | node_js: 4 | - 0.12 5 | - 4 6 | - 5 7 | 8 | before_install: 9 | - mkdir node_modules; ln -s ../ node_modules/d 10 | 11 | notifications: 12 | email: 13 | - medikoo+d@medikoo.com 14 | 15 | script: "npm test && npm run lint" 16 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/d/CHANGES: -------------------------------------------------------------------------------- 1 | v1.0.0 -- 2015.12.04 2 | - autoBind changes: 3 | - replace `bindTo` argument with options and `resolveContext` option 4 | - Add support `overwriteDefinition` 5 | - Introduce IE11 bug workaround in `lazy` handler 6 | 7 | v0.1.1 -- 2014.04.24 8 | - Add `autoBind` and `lazy` utilities 9 | - Allow to pass other options to be merged onto created descriptor. 10 | Useful when used with other custom utilties 11 | 12 | v0.1.0 -- 2013.06.20 13 | Initial (derived from es5-ext project) 14 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/d/test/auto-bind.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var d = require('../'); 4 | 5 | module.exports = function (t, a) { 6 | var o = Object.defineProperties({}, t({ 7 | bar: d(function () { return this === o; }), 8 | bar2: d(function () { return this; }) 9 | })); 10 | 11 | a.deep([(o.bar)(), (o.bar2)()], [true, o]); 12 | }; 13 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/depd/lib/compat/event-listener-count.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = eventListenerCount 15 | 16 | /** 17 | * Get the count of listeners on an event emitter of a specific type. 18 | */ 19 | 20 | function eventListenerCount (emitter, type) { 21 | return emitter.listeners(type).length 22 | } 23 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/glob/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/has/README.md: -------------------------------------------------------------------------------- 1 | # has 2 | 3 | > Object.prototype.hasOwnProperty.call shortcut 4 | 5 | ## Installation 6 | 7 | ```sh 8 | npm install --save has 9 | ``` 10 | 11 | ## Usage 12 | 13 | ```js 14 | var has = require('has'); 15 | 16 | has({}, 'hasOwnProperty'); // false 17 | has(Object.prototype, 'hasOwnProperty'); // true 18 | ``` 19 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/has/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var bind = require('function-bind'); 4 | 5 | module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); 6 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/has/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var has = require('../'); 5 | 6 | test('has', function (t) { 7 | t.equal(has({}, 'hasOwnProperty'), false, 'object literal does not have own property "hasOwnProperty"'); 8 | t.equal(has(Object.prototype, 'hasOwnProperty'), true, 'Object.prototype has own property "hasOwnProperty"'); 9 | t.end(); 10 | }); 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/hoek/.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !lib/** 3 | !.npmignore 4 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ini/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/joi/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Breaking changes are documented using GitHub issues, see [issues labeled "release notes"](https://github.com/hapijs/joi/issues?q=is%3Aissue+label%3A%22release+notes%22). 2 | 3 | If you want changes of a specific minor or patch release, you can browse the [GitHub milestones](https://github.com/hapijs/joi/milestones?state=closed&direction=asc&sort=due_date). 4 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/joi/lib/schemas.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Load modules 4 | 5 | const Joi = require('../'); 6 | 7 | 8 | // Declare internals 9 | 10 | const internals = {}; 11 | 12 | exports.options = Joi.object({ 13 | abortEarly: Joi.boolean(), 14 | convert: Joi.boolean(), 15 | allowUnknown: Joi.boolean(), 16 | skipFunctions: Joi.boolean(), 17 | stripUnknown: [Joi.boolean(), Joi.object({ arrays: Joi.boolean(), objects: Joi.boolean() }).or('arrays', 'objects')], 18 | language: Joi.object(), 19 | presence: Joi.string().only('required', 'optional', 'forbidden', 'ignore'), 20 | raw: Joi.boolean(), 21 | context: Joi.object(), 22 | strip: Joi.boolean(), 23 | noDefaults: Joi.boolean() 24 | }).strict(); 25 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/koa/node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/koa/node_modules/debug/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true 5 | }, 6 | "globals": { 7 | "chrome": true 8 | }, 9 | "rules": { 10 | "no-console": 0, 11 | "no-empty": [1, { "allowEmptyCatch": true }] 12 | }, 13 | "extends": "eslint:recommended" 14 | } 15 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/koa/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | coverage 9 | bower.json 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/koa/node_modules/debug/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: node_js 4 | 5 | node_js: 6 | - "4" 7 | - "6" 8 | - "8" 9 | 10 | install: 11 | - make install 12 | 13 | script: 14 | - make lint 15 | - make test 16 | 17 | matrix: 18 | include: 19 | - node_js: '8' 20 | env: BROWSER=1 21 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/koa/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/koa/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process === 'undefined' || process.type === 'renderer') { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mime/.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### If you have an issue with a specific extension or type 2 | 3 | Locate the definition for your extension/type in the [db.json file](https://github.com/jshttp/mime-db/blob/master/db.json) in the `mime-db` project. Does it look right? 4 | 5 | [ ] No. [File a `mime-db` issue](https://github.com/jshttp/mime-db/issues/new). 6 | [ ] Yes: Go ahead and submit your issue/PR here and I'll look into it. 7 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mime/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### If you have an issue with a specific extension or type 2 | 3 | Locate the definition for your extension/type in the [db.json file](https://github.com/jshttp/mime-db/blob/master/db.json) in the `mime-db` project. Does it look right? 4 | 5 | [ ] No. [File a `mime-db` issue](https://github.com/jshttp/mime-db/issues/new). 6 | [ ] Yes: Go ahead and submit your issue/PR here and I'll look into it. 7 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mime/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "4" 4 | - "6" 5 | - "8" 6 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mime/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 1. Commit messages should have a [Conventional Commit](https://conventionalcommits.org/) prefix. 2 | 2. If you're editing the `types/*` files, just stop. These are auto-generated from [mime-db](https://github.com/jshttp/mime-db). Go talk to those folks. 3 | 3. README edits should be made to [src/README_md.js](src/README_md.js). 4 | 5 | Thanks for helping out with this project. You rock! 6 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | var mime = require('.'); 6 | var file = process.argv[2]; 7 | var type = mime.getType(file); 8 | 9 | process.stdout.write(type + '\n'); 10 | 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mime/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Mime = require('./Mime'); 4 | module.exports = new Mime(require('./types/standard'), require('./types/other')); 5 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mime/lite.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Mime = require('./Mime'); 4 | module.exports = new Mime(require('./types/standard')); 5 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mz/child_process.js: -------------------------------------------------------------------------------- 1 | 2 | require('thenify-all').withCallback( 3 | require('child_process'), 4 | exports, [ 5 | 'exec', 6 | 'execFile', 7 | ] 8 | ) 9 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mz/crypto.js: -------------------------------------------------------------------------------- 1 | 2 | require('thenify-all').withCallback( 3 | require('crypto'), 4 | exports, [ 5 | 'pbkdf2', 6 | 'pseudoRandomBytes', 7 | 'randomBytes' 8 | ] 9 | ) 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mz/dns.js: -------------------------------------------------------------------------------- 1 | 2 | require('thenify-all').withCallback( 3 | require('dns'), 4 | exports, [ 5 | 'lookup', 6 | 'resolve', 7 | 'resolve4', 8 | 'resolve6', 9 | 'resolveCname', 10 | 'resolveMx', 11 | 'resolveNs', 12 | 'resolveSrv', 13 | 'resolveTxt', 14 | 'reverse' 15 | ] 16 | ) 17 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mz/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | fs: require('./fs'), 3 | dns: require('./dns'), 4 | zlib: require('./zlib'), 5 | crypto: require('./crypto'), 6 | readline: require('./readline'), 7 | child_process: require('./child_process') 8 | } 9 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/mz/zlib.js: -------------------------------------------------------------------------------- 1 | 2 | require('thenify-all').withCallback( 3 | require('zlib'), 4 | exports, [ 5 | 'deflate', 6 | 'deflateRaw', 7 | 'gzip', 8 | 'gunzip', 9 | 'inflate', 10 | 'inflateRaw', 11 | 'unzip', 12 | ] 13 | ) 14 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/nan/include_dirs.js: -------------------------------------------------------------------------------- 1 | console.log(require('path').relative('.', __dirname)); 2 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/nan/tools/README.md: -------------------------------------------------------------------------------- 1 | 1to2 naively converts source code files from NAN 1 to NAN 2. There will be erroneous conversions, 2 | false positives and missed opportunities. The input files are rewritten in place. Make sure that 3 | you have backups. You will have to manually review the changes afterwards and do some touchups. 4 | 5 | ```sh 6 | $ tools/1to2.js 7 | 8 | Usage: 1to2 [options] 9 | 10 | Options: 11 | 12 | -h, --help output usage information 13 | -V, --version output the version number 14 | ``` 15 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/nan/tools/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "1to2", 3 | "version": "1.0.0", 4 | "description": "NAN 1 -> 2 Migration Script", 5 | "main": "1to2.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/nodejs/nan.git" 9 | }, 10 | "contributors": [ 11 | "Benjamin Byholm (https://github.com/kkoopa/)", 12 | "Mathias Küsel (https://github.com/mathiask88/)" 13 | ], 14 | "dependencies": { 15 | "glob": "~5.0.10", 16 | "commander": "~2.8.1" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/nopt/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYang828/fastweb/2c1b956e9846c4205d0201d39d09891d088754e4/fastweb-docs-1/node_modules/nopt/.npmignore -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/once/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/only/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/only/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.0.1 / 2010-01-03 3 | ================== 4 | 5 | * Initial release 6 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/only/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/only/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = function(obj, keys){ 3 | obj = obj || {}; 4 | if ('string' == typeof keys) keys = keys.split(/ +/); 5 | return keys.reduce(function(ret, key){ 6 | if (null == obj[key]) return ret; 7 | ret[key] = obj[key]; 8 | return ret; 9 | }, {}); 10 | }; 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/pako/index.js: -------------------------------------------------------------------------------- 1 | // Top level file is just a mixin of submodules & constants 2 | 'use strict'; 3 | 4 | var assign = require('./lib/utils/common').assign; 5 | 6 | var deflate = require('./lib/deflate'); 7 | var inflate = require('./lib/inflate'); 8 | var constants = require('./lib/zlib/constants'); 9 | 10 | var pako = {}; 11 | 12 | assign(pako, deflate, inflate, constants); 13 | 14 | module.exports = pako; 15 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/prr/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/prr/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - "0.10" 5 | branches: 6 | only: 7 | - master 8 | notifications: 9 | email: 10 | - rod@vagg.org -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/pump/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | 5 | script: "npm test" 6 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/LICENSE.APACHE2: -------------------------------------------------------------------------------- 1 | Apache License, Version 2.0 2 | 3 | Copyright (c) 2011 Dominic Tarr 4 | 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 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 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. 16 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/browser.js: -------------------------------------------------------------------------------- 1 | 2 | // when this is loaded into the browser, 3 | // just use the defaults... 4 | 5 | module.exports = function (name, defaults) { 6 | return defaults 7 | } 8 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/cli.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | var rc = require('./index') 3 | 4 | console.log(JSON.stringify(rc(process.argv[2]), false, 2)) 5 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.12" 6 | - "iojs" 7 | before_install: 8 | - npm install -g npm@~1.4.6 9 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/example/parse.js: -------------------------------------------------------------------------------- 1 | var argv = require('../')(process.argv.slice(2)); 2 | console.dir(argv); 3 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/test/all_bool.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('flag boolean true (default all --args to boolean)', function (t) { 5 | var argv = parse(['moo', '--honk', 'cow'], { 6 | boolean: true 7 | }); 8 | 9 | t.deepEqual(argv, { 10 | honk: true, 11 | _: ['moo', 'cow'] 12 | }); 13 | 14 | t.deepEqual(typeof argv.honk, 'boolean'); 15 | t.end(); 16 | }); 17 | 18 | test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { 19 | var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { 20 | boolean: true 21 | }); 22 | 23 | t.deepEqual(argv, { 24 | honk: true, 25 | tacos: 'good', 26 | p: 55, 27 | _: ['moo', 'cow'] 28 | }); 29 | 30 | t.deepEqual(typeof argv.honk, 'boolean'); 31 | t.end(); 32 | }); 33 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/test/default_bool.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('boolean default true', function (t) { 5 | var argv = parse([], { 6 | boolean: 'sometrue', 7 | default: { sometrue: true } 8 | }); 9 | t.equal(argv.sometrue, true); 10 | t.end(); 11 | }); 12 | 13 | test('boolean default false', function (t) { 14 | var argv = parse([], { 15 | boolean: 'somefalse', 16 | default: { somefalse: false } 17 | }); 18 | t.equal(argv.somefalse, false); 19 | t.end(); 20 | }); 21 | 22 | test('boolean default to null', function (t) { 23 | var argv = parse([], { 24 | boolean: 'maybe', 25 | default: { maybe: null } 26 | }); 27 | t.equal(argv.maybe, null); 28 | var argv = parse(['--maybe'], { 29 | boolean: 'maybe', 30 | default: { maybe: null } 31 | }); 32 | t.equal(argv.maybe, true); 33 | t.end(); 34 | 35 | }) 36 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/test/dotted.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('dotted alias', function (t) { 5 | var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 6 | t.equal(argv.a.b, 22); 7 | t.equal(argv.aa.bb, 22); 8 | t.end(); 9 | }); 10 | 11 | test('dotted default', function (t) { 12 | var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 13 | t.equal(argv.a.b, 11); 14 | t.equal(argv.aa.bb, 11); 15 | t.end(); 16 | }); 17 | 18 | test('dotted default with no alias', function (t) { 19 | var argv = parse('', {default: {'a.b': 11}}); 20 | t.equal(argv.a.b, 11); 21 | t.end(); 22 | }); 23 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/test/kv_short.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('short -k=v' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = parse([ '-b=123' ]); 8 | t.deepEqual(argv, { b: 123, _: [] }); 9 | }); 10 | 11 | test('multi short -k=v' , function (t) { 12 | t.plan(1); 13 | 14 | var argv = parse([ '-a=whatever', '-b=robots' ]); 15 | t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); 16 | }); 17 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/test/long.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('long opts', function (t) { 5 | t.deepEqual( 6 | parse([ '--bool' ]), 7 | { bool : true, _ : [] }, 8 | 'long boolean' 9 | ); 10 | t.deepEqual( 11 | parse([ '--pow', 'xixxle' ]), 12 | { pow : 'xixxle', _ : [] }, 13 | 'long capture sp' 14 | ); 15 | t.deepEqual( 16 | parse([ '--pow=xixxle' ]), 17 | { pow : 'xixxle', _ : [] }, 18 | 'long capture eq' 19 | ); 20 | t.deepEqual( 21 | parse([ '--host', 'localhost', '--port', '555' ]), 22 | { host : 'localhost', port : 555, _ : [] }, 23 | 'long captures sp' 24 | ); 25 | t.deepEqual( 26 | parse([ '--host=localhost', '--port=555' ]), 27 | { host : 'localhost', port : 555, _ : [] }, 28 | 'long captures eq' 29 | ); 30 | t.end(); 31 | }); 32 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/test/parse_modified.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('parse with modifier functions' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = parse([ '-b', '123' ], { boolean: 'b' }); 8 | t.deepEqual(argv, { b: true, _: [123] }); 9 | }); 10 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/test/stop_early.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('stops parsing on the first non-option when stopEarly is set', function (t) { 5 | var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { 6 | stopEarly: true 7 | }); 8 | 9 | t.deepEqual(argv, { 10 | aaa: 'bbb', 11 | _: ['ccc', '--ddd'] 12 | }); 13 | 14 | t.end(); 15 | }); 16 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/node_modules/minimist/test/whitespace.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('whitespace should be whitespace' , function (t) { 5 | t.plan(1); 6 | var x = parse([ '-x', '\t' ]).x; 7 | t.equal(x, '\t'); 8 | }); 9 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/rc/test/ini.js: -------------------------------------------------------------------------------- 1 | var cc =require('../lib/utils') 2 | var INI = require('ini') 3 | var assert = require('assert') 4 | 5 | function test(obj) { 6 | 7 | var _json, _ini 8 | var json = cc.parse (_json = JSON.stringify(obj)) 9 | var ini = cc.parse (_ini = INI.stringify(obj)) 10 | console.log(_ini, _json) 11 | assert.deepEqual(json, ini) 12 | } 13 | 14 | 15 | test({hello: true}) 16 | 17 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ret/lib/positions.js: -------------------------------------------------------------------------------- 1 | var types = require('./types'); 2 | 3 | exports.wordBoundary = function() { 4 | return { type: types.POSITION, value: 'b' }; 5 | }; 6 | 7 | exports.nonWordBoundary = function() { 8 | return { type: types.POSITION, value: 'B' }; 9 | }; 10 | 11 | exports.begin = function() { 12 | return { type: types.POSITION, value: '^' }; 13 | }; 14 | 15 | exports.end = function() { 16 | return { type: types.POSITION, value: '$' }; 17 | }; 18 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ret/lib/types.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ROOT : 0, 3 | GROUP : 1, 4 | POSITION : 2, 5 | SET : 3, 6 | RANGE : 4, 7 | REPETITION : 5, 8 | REFERENCE : 6, 9 | CHAR : 7, 10 | }; 11 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/ssri/LICENSE.md: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) npm, Inc. 4 | 5 | Permission to use, copy, modify, and/or distribute this software for 6 | any purpose with or without fee is hereby granted, provided that the 7 | above copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS 10 | ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 | WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 | COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR 13 | CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 14 | OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 15 | OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE 16 | USE OR PERFORMANCE OF THIS SOFTWARE. 17 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/.npmignore: -------------------------------------------------------------------------------- 1 | docs 2 | examples 3 | test 4 | lib-cov 5 | .editorconfig 6 | .jshintignore 7 | .jshintrc 8 | .travis.yml 9 | lcov.info 10 | logo.svg 11 | CHANGELOG.MD 12 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | @npm run test 3 | 4 | lib-cov: 5 | @./node_modules/.bin/istanbul instrument --output lib-cov --no-compact --variable global.__coverage__ lib 6 | 7 | coverage: lib-cov 8 | @COVERAGE=1 ISTANBUL_REPORTERS=text-summary ./node_modules/.bin/mocha --reporter mocha-istanbul 9 | @rm -rf lib-cov 10 | 11 | coveralls: lib-cov 12 | @COVERAGE=1 ISTANBUL_REPORTERS=lcovonly ./node_modules/.bin/mocha --reporter mocha-istanbul 13 | @cat lcov.info | ./node_modules/.bin/coveralls 14 | @rm -rf lib-cov lcov.info 15 | 16 | travis: jshint test coveralls 17 | 18 | jshint: 19 | @npm run jshint 20 | 21 | .PHONY: test 22 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/bin/svgo: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('../lib/svgo/coa').run(); 4 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/.bin/js-yaml: -------------------------------------------------------------------------------- 1 | ../js-yaml/bin/js-yaml.js -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | var yaml = require('./lib/js-yaml.js'); 5 | 6 | 7 | module.exports = yaml; 8 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/schema/core.js: -------------------------------------------------------------------------------- 1 | // Standard YAML's Core schema. 2 | // http://www.yaml.org/spec/1.2/spec.html#id2804923 3 | // 4 | // NOTE: JS-YAML does not support schema-specific tag resolution restrictions. 5 | // So, Core schema has no distinctions from JSON schema is JS-YAML. 6 | 7 | 8 | 'use strict'; 9 | 10 | 11 | var Schema = require('../schema'); 12 | 13 | 14 | module.exports = new Schema({ 15 | include: [ 16 | require('./json') 17 | ] 18 | }); 19 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/schema/default_full.js: -------------------------------------------------------------------------------- 1 | // JS-YAML's default schema for `load` function. 2 | // It is not described in the YAML specification. 3 | // 4 | // This schema is based on JS-YAML's default safe schema and includes 5 | // JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function. 6 | // 7 | // Also this schema is used as default base schema at `Schema.create` function. 8 | 9 | 10 | 'use strict'; 11 | 12 | 13 | var Schema = require('../schema'); 14 | 15 | 16 | module.exports = Schema.DEFAULT = new Schema({ 17 | include: [ 18 | require('./default_safe') 19 | ], 20 | explicit: [ 21 | require('../type/js/undefined'), 22 | require('../type/js/regexp'), 23 | require('../type/js/function') 24 | ] 25 | }); 26 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js: -------------------------------------------------------------------------------- 1 | // JS-YAML's default schema for `safeLoad` function. 2 | // It is not described in the YAML specification. 3 | // 4 | // This schema is based on standard YAML's Core schema and includes most of 5 | // extra types described at YAML tag repository. (http://yaml.org/type/) 6 | 7 | 8 | 'use strict'; 9 | 10 | 11 | var Schema = require('../schema'); 12 | 13 | 14 | module.exports = new Schema({ 15 | include: [ 16 | require('./core') 17 | ], 18 | implicit: [ 19 | require('../type/timestamp'), 20 | require('../type/merge') 21 | ], 22 | explicit: [ 23 | require('../type/binary'), 24 | require('../type/omap'), 25 | require('../type/pairs'), 26 | require('../type/set') 27 | ] 28 | }); 29 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js: -------------------------------------------------------------------------------- 1 | // Standard YAML's Failsafe schema. 2 | // http://www.yaml.org/spec/1.2/spec.html#id2802346 3 | 4 | 5 | 'use strict'; 6 | 7 | 8 | var Schema = require('../schema'); 9 | 10 | 11 | module.exports = new Schema({ 12 | explicit: [ 13 | require('../type/str'), 14 | require('../type/seq'), 15 | require('../type/map') 16 | ] 17 | }); 18 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/schema/json.js: -------------------------------------------------------------------------------- 1 | // Standard YAML's JSON schema. 2 | // http://www.yaml.org/spec/1.2/spec.html#id2803231 3 | // 4 | // NOTE: JS-YAML does not support schema-specific tag resolution restrictions. 5 | // So, this schema is not such strict as defined in the YAML specification. 6 | // It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc. 7 | 8 | 9 | 'use strict'; 10 | 11 | 12 | var Schema = require('../schema'); 13 | 14 | 15 | module.exports = new Schema({ 16 | include: [ 17 | require('./failsafe') 18 | ], 19 | implicit: [ 20 | require('../type/null'), 21 | require('../type/bool'), 22 | require('../type/int'), 23 | require('../type/float') 24 | ] 25 | }); 26 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Type = require('../../type'); 4 | 5 | function resolveJavascriptUndefined() { 6 | return true; 7 | } 8 | 9 | function constructJavascriptUndefined() { 10 | /*eslint-disable no-undefined*/ 11 | return undefined; 12 | } 13 | 14 | function representJavascriptUndefined() { 15 | return ''; 16 | } 17 | 18 | function isUndefined(object) { 19 | return typeof object === 'undefined'; 20 | } 21 | 22 | module.exports = new Type('tag:yaml.org,2002:js/undefined', { 23 | kind: 'scalar', 24 | resolve: resolveJavascriptUndefined, 25 | construct: constructJavascriptUndefined, 26 | predicate: isUndefined, 27 | represent: representJavascriptUndefined 28 | }); 29 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/type/map.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Type = require('../type'); 4 | 5 | module.exports = new Type('tag:yaml.org,2002:map', { 6 | kind: 'mapping', 7 | construct: function (data) { return data !== null ? data : {}; } 8 | }); 9 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/type/merge.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Type = require('../type'); 4 | 5 | function resolveYamlMerge(data) { 6 | return data === '<<' || data === null; 7 | } 8 | 9 | module.exports = new Type('tag:yaml.org,2002:merge', { 10 | kind: 'scalar', 11 | resolve: resolveYamlMerge 12 | }); 13 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/type/null.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Type = require('../type'); 4 | 5 | function resolveYamlNull(data) { 6 | if (data === null) return true; 7 | 8 | var max = data.length; 9 | 10 | return (max === 1 && data === '~') || 11 | (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); 12 | } 13 | 14 | function constructYamlNull() { 15 | return null; 16 | } 17 | 18 | function isNull(object) { 19 | return object === null; 20 | } 21 | 22 | module.exports = new Type('tag:yaml.org,2002:null', { 23 | kind: 'scalar', 24 | resolve: resolveYamlNull, 25 | construct: constructYamlNull, 26 | predicate: isNull, 27 | represent: { 28 | canonical: function () { return '~'; }, 29 | lowercase: function () { return 'null'; }, 30 | uppercase: function () { return 'NULL'; }, 31 | camelcase: function () { return 'Null'; } 32 | }, 33 | defaultStyle: 'lowercase' 34 | }); 35 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/type/seq.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Type = require('../type'); 4 | 5 | module.exports = new Type('tag:yaml.org,2002:seq', { 6 | kind: 'sequence', 7 | construct: function (data) { return data !== null ? data : []; } 8 | }); 9 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/type/set.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Type = require('../type'); 4 | 5 | var _hasOwnProperty = Object.prototype.hasOwnProperty; 6 | 7 | function resolveYamlSet(data) { 8 | if (data === null) return true; 9 | 10 | var key, object = data; 11 | 12 | for (key in object) { 13 | if (_hasOwnProperty.call(object, key)) { 14 | if (object[key] !== null) return false; 15 | } 16 | } 17 | 18 | return true; 19 | } 20 | 21 | function constructYamlSet(data) { 22 | return data !== null ? data : {}; 23 | } 24 | 25 | module.exports = new Type('tag:yaml.org,2002:set', { 26 | kind: 'mapping', 27 | resolve: resolveYamlSet, 28 | construct: constructYamlSet 29 | }); 30 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/node_modules/js-yaml/lib/js-yaml/type/str.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Type = require('../type'); 4 | 5 | module.exports = new Type('tag:yaml.org,2002:str', { 6 | kind: 'scalar', 7 | construct: function (data) { return data !== null ? data : ''; } 8 | }); 9 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/plugins/removeComments.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.type = 'perItem'; 4 | 5 | exports.active = true; 6 | 7 | exports.description = 'removes comments'; 8 | 9 | /** 10 | * Remove comments. 11 | * 12 | * @example 13 | * 15 | * 16 | * @param {Object} item current iteration item 17 | * @return {Boolean} if false, item will be filtered out 18 | * 19 | * @author Kir Belevich 20 | */ 21 | exports.fn = function(item) { 22 | 23 | if (item.comment && item.comment.charAt(0) !== '!') { 24 | return false; 25 | } 26 | 27 | }; 28 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/plugins/removeDesc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.type = 'perItem'; 4 | 5 | exports.active = true; 6 | 7 | exports.params = { 8 | removeAny: false 9 | }; 10 | 11 | exports.description = 'removes (only non-meaningful by default)'; 12 | 13 | var standardDescs = /^Created with/; 14 | 15 | /** 16 | * Removes . 17 | * Removes only standard editors content or empty elements 'cause it can be used for accessibility. 18 | * Enable parameter 'removeAny' to remove any description. 19 | * 20 | * https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc 21 | * 22 | * @param {Object} item current iteration item 23 | * @return {Boolean} if false, item will be filtered out 24 | * 25 | * @author Daniel Wabyick 26 | */ 27 | exports.fn = function(item, params) { 28 | 29 | return !item.isElem('desc') || !(params.removeAny || item.isEmpty() || 30 | standardDescs.test(item.content[0].text)); 31 | 32 | }; 33 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/plugins/removeDimensions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.type = 'perItem'; 4 | 5 | exports.active = false; 6 | 7 | exports.description = 'removes width and height in presence of viewBox'; 8 | 9 | /** 10 | * Remove width/height attributes when a viewBox attribute is present. 11 | * 12 | * @example 13 | * 14 | * ↓ 15 | * 16 | * 17 | * @param {Object} item current iteration item 18 | * @return {Boolean} if true, with and height will be filtered out 19 | * 20 | * @author Benny Schudel 21 | */ 22 | exports.fn = function(item) { 23 | 24 | if ( 25 | item.isElem('svg') && 26 | item.hasAttr('viewBox') 27 | ) { 28 | item.removeAttr('width'); 29 | item.removeAttr('height'); 30 | } 31 | 32 | }; 33 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/plugins/removeEmptyAttrs.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.type = 'perItem'; 4 | 5 | exports.active = true; 6 | 7 | exports.description = 'removes empty attributes'; 8 | 9 | /** 10 | * Remove attributes with empty values. 11 | * 12 | * @param {Object} item current iteration item 13 | * @return {Boolean} if false, item will be filtered out 14 | * 15 | * @author Kir Belevich 16 | */ 17 | exports.fn = function(item) { 18 | 19 | if (item.elem) { 20 | 21 | item.eachAttr(function(attr) { 22 | if (attr.value === '') { 23 | item.removeAttr(attr.name); 24 | } 25 | }); 26 | 27 | } 28 | 29 | }; 30 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/plugins/removeEmptyContainers.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.type = 'perItemReverse'; 4 | 5 | exports.active = true; 6 | 7 | exports.description = 'removes empty container elements'; 8 | 9 | var container = require('./_collections').elemsGroups.container; 10 | 11 | /** 12 | * Remove empty containers. 13 | * 14 | * @see http://www.w3.org/TR/SVG/intro.html#TermContainerElement 15 | * 16 | * @example 17 | * 18 | * 19 | * @example 20 | * 21 | * 22 | * @param {Object} item current iteration item 23 | * @return {Boolean} if false, item will be filtered out 24 | * 25 | * @author Kir Belevich 26 | */ 27 | exports.fn = function(item) { 28 | 29 | return !(item.isElem(container) && !item.isElem('svg') && item.isEmpty() && 30 | (!item.isElem('pattern') || !item.hasAttrLocal('href'))); 31 | 32 | }; 33 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/plugins/removeMetadata.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.type = 'perItem'; 4 | 5 | exports.active = true; 6 | 7 | exports.description = 'removes '; 8 | 9 | /** 10 | * Remove . 11 | * 12 | * http://www.w3.org/TR/SVG/metadata.html 13 | * 14 | * @param {Object} item current iteration item 15 | * @return {Boolean} if false, item will be filtered out 16 | * 17 | * @author Kir Belevich 18 | */ 19 | exports.fn = function(item) { 20 | 21 | return !item.isElem('metadata'); 22 | 23 | }; 24 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/plugins/removeRasterImages.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.type = 'perItem'; 4 | 5 | exports.active = false; 6 | 7 | exports.description = 'removes raster images (disabled by default)'; 8 | 9 | /** 10 | * Remove raster images references in . 11 | * 12 | * @see https://bugs.webkit.org/show_bug.cgi?id=63548 13 | * 14 | * @param {Object} item current iteration item 15 | * @return {Boolean} if false, item will be filtered out 16 | * 17 | * @author Kir Belevich 18 | */ 19 | exports.fn = function(item) { 20 | 21 | if ( 22 | item.isElem('image') && 23 | item.hasAttrLocal('href', /(\.|image\/)(jpg|png|gif)/) 24 | ) { 25 | return false; 26 | } 27 | 28 | }; 29 | -------------------------------------------------------------------------------- /fastweb-docs-1/node_modules/svgo/plugins/removeStyleElement.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.type = 'perItem'; 4 | 5 | exports.active = false; 6 | 7 | exports.description = 'removes