김건희

[Update] RegisterPage Files

Showing 1000 changed files with 4175 additions and 0 deletions

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../color-support/bin.js" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../color-support/bin.js" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\color-support\bin.js" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../color-support/bin.js" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../color-support/bin.js" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../mkdirp/bin/cmd.js" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../mkdirp/bin/cmd.js" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\mkdirp\bin\cmd.js" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../mkdirp/bin/cmd.js" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../node-gyp/bin/node-gyp.js" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../node-gyp/bin/node-gyp.js" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\node-gyp\bin\node-gyp.js" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../node-gyp/bin/node-gyp.js" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../node-gyp/bin/node-gyp.js" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../node-sass/bin/node-sass" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../node-sass/bin/node-sass" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\node-sass\bin\node-sass" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../node-sass/bin/node-sass" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../node-sass/bin/node-sass" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../which/bin/node-which" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../which/bin/node-which" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\which\bin\node-which" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../which/bin/node-which" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../which/bin/node-which" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../nopt/bin/nopt.js" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../nopt/bin/nopt.js" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\nopt\bin\nopt.js" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../nopt/bin/nopt.js" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../nopt/bin/nopt.js" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../resolve/bin/resolve" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../resolve/bin/resolve" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\resolve\bin\resolve" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../resolve/bin/resolve" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../resolve/bin/resolve" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../rimraf/bin.js" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../rimraf/bin.js" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\rimraf\bin.js" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../rimraf/bin.js" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../rimraf/bin.js" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../sass-graph/bin/sassgraph" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../sass-graph/bin/sassgraph" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\sass-graph\bin\sassgraph" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../sass-graph/bin/sassgraph" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../sass-graph/bin/sassgraph" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../semver/bin/semver.js" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\semver\bin\semver.js" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../semver/bin/semver.js" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../sshpk/bin/sshpk-conv" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../sshpk/bin/sshpk-conv" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\sshpk\bin\sshpk-conv" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../sshpk/bin/sshpk-conv" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../sshpk/bin/sshpk-conv" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../sshpk/bin/sshpk-sign" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../sshpk/bin/sshpk-sign" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\sshpk\bin\sshpk-sign" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../sshpk/bin/sshpk-sign" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../sshpk/bin/sshpk-sign" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../sshpk/bin/sshpk-verify" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../sshpk/bin/sshpk-verify" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\sshpk\bin\sshpk-verify" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../sshpk/bin/sshpk-verify" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../sshpk/bin/sshpk-verify" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +#!/bin/sh
2 +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3 +
4 +case `uname` in
5 + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
6 +esac
7 +
8 +if [ -x "$basedir/node" ]; then
9 + "$basedir/node" "$basedir/../uuid/bin/uuid" "$@"
10 + ret=$?
11 +else
12 + node "$basedir/../uuid/bin/uuid" "$@"
13 + ret=$?
14 +fi
15 +exit $ret
1 +@ECHO off
2 +SETLOCAL
3 +CALL :find_dp0
4 +
5 +IF EXIST "%dp0%\node.exe" (
6 + SET "_prog=%dp0%\node.exe"
7 +) ELSE (
8 + SET "_prog=node"
9 + SET PATHEXT=%PATHEXT:;.JS;=;%
10 +)
11 +
12 +"%_prog%" "%dp0%\..\uuid\bin\uuid" %*
13 +ENDLOCAL
14 +EXIT /b %errorlevel%
15 +:find_dp0
16 +SET dp0=%~dp0
17 +EXIT /b
1 +#!/usr/bin/env pwsh
2 +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 +
4 +$exe=""
5 +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 + # Fix case when both the Windows and Linux builds of Node
7 + # are installed in the same directory
8 + $exe=".exe"
9 +}
10 +$ret=0
11 +if (Test-Path "$basedir/node$exe") {
12 + & "$basedir/node$exe" "$basedir/../uuid/bin/uuid" $args
13 + $ret=$LASTEXITCODE
14 +} else {
15 + & "node$exe" "$basedir/../uuid/bin/uuid" $args
16 + $ret=$LASTEXITCODE
17 +}
18 +exit $ret
1 +MIT License
2 +
3 +Copyright (c) 2014-present Sebastian McKenzie and other contributors
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining
6 +a copy of this software and associated documentation files (the
7 +"Software"), to deal in the Software without restriction, including
8 +without limitation the rights to use, copy, modify, merge, publish,
9 +distribute, sublicense, and/or sell copies of the Software, and to
10 +permit persons to whom the Software is furnished to do so, subject to
11 +the following conditions:
12 +
13 +The above copyright notice and this permission notice shall be
14 +included in all copies or substantial portions of the Software.
15 +
16 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1 +# @babel/code-frame
2 +
3 +> Generate errors that contain a code frame that point to source locations.
4 +
5 +See our website [@babel/code-frame](https://babeljs.io/docs/en/babel-code-frame) for more information.
6 +
7 +## Install
8 +
9 +Using npm:
10 +
11 +```sh
12 +npm install --save-dev @babel/code-frame
13 +```
14 +
15 +or using yarn:
16 +
17 +```sh
18 +yarn add @babel/code-frame --dev
19 +```
1 +"use strict";
2 +
3 +Object.defineProperty(exports, "__esModule", {
4 + value: true
5 +});
6 +exports.codeFrameColumns = codeFrameColumns;
7 +exports.default = _default;
8 +
9 +var _highlight = require("@babel/highlight");
10 +
11 +let deprecationWarningShown = false;
12 +
13 +function getDefs(chalk) {
14 + return {
15 + gutter: chalk.grey,
16 + marker: chalk.red.bold,
17 + message: chalk.red.bold
18 + };
19 +}
20 +
21 +const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
22 +
23 +function getMarkerLines(loc, source, opts) {
24 + const startLoc = Object.assign({
25 + column: 0,
26 + line: -1
27 + }, loc.start);
28 + const endLoc = Object.assign({}, startLoc, loc.end);
29 + const {
30 + linesAbove = 2,
31 + linesBelow = 3
32 + } = opts || {};
33 + const startLine = startLoc.line;
34 + const startColumn = startLoc.column;
35 + const endLine = endLoc.line;
36 + const endColumn = endLoc.column;
37 + let start = Math.max(startLine - (linesAbove + 1), 0);
38 + let end = Math.min(source.length, endLine + linesBelow);
39 +
40 + if (startLine === -1) {
41 + start = 0;
42 + }
43 +
44 + if (endLine === -1) {
45 + end = source.length;
46 + }
47 +
48 + const lineDiff = endLine - startLine;
49 + const markerLines = {};
50 +
51 + if (lineDiff) {
52 + for (let i = 0; i <= lineDiff; i++) {
53 + const lineNumber = i + startLine;
54 +
55 + if (!startColumn) {
56 + markerLines[lineNumber] = true;
57 + } else if (i === 0) {
58 + const sourceLength = source[lineNumber - 1].length;
59 + markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
60 + } else if (i === lineDiff) {
61 + markerLines[lineNumber] = [0, endColumn];
62 + } else {
63 + const sourceLength = source[lineNumber - i].length;
64 + markerLines[lineNumber] = [0, sourceLength];
65 + }
66 + }
67 + } else {
68 + if (startColumn === endColumn) {
69 + if (startColumn) {
70 + markerLines[startLine] = [startColumn, 0];
71 + } else {
72 + markerLines[startLine] = true;
73 + }
74 + } else {
75 + markerLines[startLine] = [startColumn, endColumn - startColumn];
76 + }
77 + }
78 +
79 + return {
80 + start,
81 + end,
82 + markerLines
83 + };
84 +}
85 +
86 +function codeFrameColumns(rawLines, loc, opts = {}) {
87 + const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts);
88 + const chalk = (0, _highlight.getChalk)(opts);
89 + const defs = getDefs(chalk);
90 +
91 + const maybeHighlight = (chalkFn, string) => {
92 + return highlighted ? chalkFn(string) : string;
93 + };
94 +
95 + const lines = rawLines.split(NEWLINE);
96 + const {
97 + start,
98 + end,
99 + markerLines
100 + } = getMarkerLines(loc, lines, opts);
101 + const hasColumns = loc.start && typeof loc.start.column === "number";
102 + const numberMaxWidth = String(end).length;
103 + const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines;
104 + let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => {
105 + const number = start + 1 + index;
106 + const paddedNumber = ` ${number}`.slice(-numberMaxWidth);
107 + const gutter = ` ${paddedNumber} |`;
108 + const hasMarker = markerLines[number];
109 + const lastMarkerLine = !markerLines[number + 1];
110 +
111 + if (hasMarker) {
112 + let markerLine = "";
113 +
114 + if (Array.isArray(hasMarker)) {
115 + const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
116 + const numberOfMarkers = hasMarker[1] || 1;
117 + markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join("");
118 +
119 + if (lastMarkerLine && opts.message) {
120 + markerLine += " " + maybeHighlight(defs.message, opts.message);
121 + }
122 + }
123 +
124 + return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
125 + } else {
126 + return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`;
127 + }
128 + }).join("\n");
129 +
130 + if (opts.message && !hasColumns) {
131 + frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
132 + }
133 +
134 + if (highlighted) {
135 + return chalk.reset(frame);
136 + } else {
137 + return frame;
138 + }
139 +}
140 +
141 +function _default(rawLines, lineNumber, colNumber, opts = {}) {
142 + if (!deprecationWarningShown) {
143 + deprecationWarningShown = true;
144 + const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
145 +
146 + if (process.emitWarning) {
147 + process.emitWarning(message, "DeprecationWarning");
148 + } else {
149 + const deprecationError = new Error(message);
150 + deprecationError.name = "DeprecationWarning";
151 + console.warn(new Error(message));
152 + }
153 + }
154 +
155 + colNumber = Math.max(colNumber, 0);
156 + const location = {
157 + start: {
158 + column: colNumber,
159 + line: lineNumber
160 + }
161 + };
162 + return codeFrameColumns(rawLines, location, opts);
163 +}
...\ No newline at end of file ...\ No newline at end of file
1 +{
2 + "_from": "@babel/code-frame@^7.0.0",
3 + "_id": "@babel/code-frame@7.16.7",
4 + "_inBundle": false,
5 + "_integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
6 + "_location": "/@babel/code-frame",
7 + "_phantomChildren": {},
8 + "_requested": {
9 + "type": "range",
10 + "registry": true,
11 + "raw": "@babel/code-frame@^7.0.0",
12 + "name": "@babel/code-frame",
13 + "escapedName": "@babel%2fcode-frame",
14 + "scope": "@babel",
15 + "rawSpec": "^7.0.0",
16 + "saveSpec": null,
17 + "fetchSpec": "^7.0.0"
18 + },
19 + "_requiredBy": [
20 + "/parse-json"
21 + ],
22 + "_resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
23 + "_shasum": "44416b6bd7624b998f5b1af5d470856c40138789",
24 + "_spec": "@babel/code-frame@^7.0.0",
25 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\parse-json",
26 + "author": {
27 + "name": "The Babel Team",
28 + "url": "https://babel.dev/team"
29 + },
30 + "bugs": {
31 + "url": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen"
32 + },
33 + "bundleDependencies": false,
34 + "dependencies": {
35 + "@babel/highlight": "^7.16.7"
36 + },
37 + "deprecated": false,
38 + "description": "Generate errors that contain a code frame that point to source locations.",
39 + "devDependencies": {
40 + "@types/chalk": "^2.0.0",
41 + "chalk": "^2.0.0",
42 + "strip-ansi": "^4.0.0"
43 + },
44 + "engines": {
45 + "node": ">=6.9.0"
46 + },
47 + "homepage": "https://babel.dev/docs/en/next/babel-code-frame",
48 + "license": "MIT",
49 + "main": "./lib/index.js",
50 + "name": "@babel/code-frame",
51 + "publishConfig": {
52 + "access": "public"
53 + },
54 + "repository": {
55 + "type": "git",
56 + "url": "git+https://github.com/babel/babel.git",
57 + "directory": "packages/babel-code-frame"
58 + },
59 + "version": "7.16.7"
60 +}
1 +MIT License
2 +
3 +Copyright (c) 2014-present Sebastian McKenzie and other contributors
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining
6 +a copy of this software and associated documentation files (the
7 +"Software"), to deal in the Software without restriction, including
8 +without limitation the rights to use, copy, modify, merge, publish,
9 +distribute, sublicense, and/or sell copies of the Software, and to
10 +permit persons to whom the Software is furnished to do so, subject to
11 +the following conditions:
12 +
13 +The above copyright notice and this permission notice shall be
14 +included in all copies or substantial portions of the Software.
15 +
16 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1 +# @babel/helper-validator-identifier
2 +
3 +> Validate identifier/keywords name
4 +
5 +See our website [@babel/helper-validator-identifier](https://babeljs.io/docs/en/babel-helper-validator-identifier) for more information.
6 +
7 +## Install
8 +
9 +Using npm:
10 +
11 +```sh
12 +npm install --save @babel/helper-validator-identifier
13 +```
14 +
15 +or using yarn:
16 +
17 +```sh
18 +yarn add @babel/helper-validator-identifier
19 +```
1 +"use strict";
2 +
3 +Object.defineProperty(exports, "__esModule", {
4 + value: true
5 +});
6 +Object.defineProperty(exports, "isIdentifierChar", {
7 + enumerable: true,
8 + get: function () {
9 + return _identifier.isIdentifierChar;
10 + }
11 +});
12 +Object.defineProperty(exports, "isIdentifierName", {
13 + enumerable: true,
14 + get: function () {
15 + return _identifier.isIdentifierName;
16 + }
17 +});
18 +Object.defineProperty(exports, "isIdentifierStart", {
19 + enumerable: true,
20 + get: function () {
21 + return _identifier.isIdentifierStart;
22 + }
23 +});
24 +Object.defineProperty(exports, "isKeyword", {
25 + enumerable: true,
26 + get: function () {
27 + return _keyword.isKeyword;
28 + }
29 +});
30 +Object.defineProperty(exports, "isReservedWord", {
31 + enumerable: true,
32 + get: function () {
33 + return _keyword.isReservedWord;
34 + }
35 +});
36 +Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
37 + enumerable: true,
38 + get: function () {
39 + return _keyword.isStrictBindOnlyReservedWord;
40 + }
41 +});
42 +Object.defineProperty(exports, "isStrictBindReservedWord", {
43 + enumerable: true,
44 + get: function () {
45 + return _keyword.isStrictBindReservedWord;
46 + }
47 +});
48 +Object.defineProperty(exports, "isStrictReservedWord", {
49 + enumerable: true,
50 + get: function () {
51 + return _keyword.isStrictReservedWord;
52 + }
53 +});
54 +
55 +var _identifier = require("./identifier");
56 +
57 +var _keyword = require("./keyword");
...\ No newline at end of file ...\ No newline at end of file
1 +"use strict";
2 +
3 +Object.defineProperty(exports, "__esModule", {
4 + value: true
5 +});
6 +exports.isKeyword = isKeyword;
7 +exports.isReservedWord = isReservedWord;
8 +exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
9 +exports.isStrictBindReservedWord = isStrictBindReservedWord;
10 +exports.isStrictReservedWord = isStrictReservedWord;
11 +const reservedWords = {
12 + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
13 + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
14 + strictBind: ["eval", "arguments"]
15 +};
16 +const keywords = new Set(reservedWords.keyword);
17 +const reservedWordsStrictSet = new Set(reservedWords.strict);
18 +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
19 +
20 +function isReservedWord(word, inModule) {
21 + return inModule && word === "await" || word === "enum";
22 +}
23 +
24 +function isStrictReservedWord(word, inModule) {
25 + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
26 +}
27 +
28 +function isStrictBindOnlyReservedWord(word) {
29 + return reservedWordsStrictBindSet.has(word);
30 +}
31 +
32 +function isStrictBindReservedWord(word, inModule) {
33 + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
34 +}
35 +
36 +function isKeyword(word) {
37 + return keywords.has(word);
38 +}
...\ No newline at end of file ...\ No newline at end of file
1 +{
2 + "_from": "@babel/helper-validator-identifier@^7.16.7",
3 + "_id": "@babel/helper-validator-identifier@7.16.7",
4 + "_inBundle": false,
5 + "_integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
6 + "_location": "/@babel/helper-validator-identifier",
7 + "_phantomChildren": {},
8 + "_requested": {
9 + "type": "range",
10 + "registry": true,
11 + "raw": "@babel/helper-validator-identifier@^7.16.7",
12 + "name": "@babel/helper-validator-identifier",
13 + "escapedName": "@babel%2fhelper-validator-identifier",
14 + "scope": "@babel",
15 + "rawSpec": "^7.16.7",
16 + "saveSpec": null,
17 + "fetchSpec": "^7.16.7"
18 + },
19 + "_requiredBy": [
20 + "/@babel/highlight"
21 + ],
22 + "_resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
23 + "_shasum": "e8c602438c4a8195751243da9031d1607d247cad",
24 + "_spec": "@babel/helper-validator-identifier@^7.16.7",
25 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\@babel\\highlight",
26 + "author": {
27 + "name": "The Babel Team",
28 + "url": "https://babel.dev/team"
29 + },
30 + "bugs": {
31 + "url": "https://github.com/babel/babel/issues"
32 + },
33 + "bundleDependencies": false,
34 + "deprecated": false,
35 + "description": "Validate identifier/keywords name",
36 + "devDependencies": {
37 + "@unicode/unicode-14.0.0": "^1.2.1",
38 + "charcodes": "^0.2.0"
39 + },
40 + "engines": {
41 + "node": ">=6.9.0"
42 + },
43 + "exports": {
44 + ".": "./lib/index.js",
45 + "./package.json": "./package.json"
46 + },
47 + "homepage": "https://github.com/babel/babel#readme",
48 + "license": "MIT",
49 + "main": "./lib/index.js",
50 + "name": "@babel/helper-validator-identifier",
51 + "publishConfig": {
52 + "access": "public"
53 + },
54 + "repository": {
55 + "type": "git",
56 + "url": "git+https://github.com/babel/babel.git",
57 + "directory": "packages/babel-helper-validator-identifier"
58 + },
59 + "version": "7.16.7"
60 +}
1 +"use strict";
2 +
3 +// Always use the latest available version of Unicode!
4 +// https://tc39.github.io/ecma262/#sec-conformance
5 +const version = "14.0.0";
6 +
7 +const start = require("@unicode/unicode-" +
8 + version +
9 + "/Binary_Property/ID_Start/code-points.js").filter(function (ch) {
10 + return ch > 0x7f;
11 +});
12 +let last = -1;
13 +const cont = [0x200c, 0x200d].concat(
14 + require("@unicode/unicode-" +
15 + version +
16 + "/Binary_Property/ID_Continue/code-points.js").filter(function (ch) {
17 + return ch > 0x7f && search(start, ch, last + 1) == -1;
18 + })
19 +);
20 +
21 +function search(arr, ch, starting) {
22 + for (let i = starting; arr[i] <= ch && i < arr.length; last = i++) {
23 + if (arr[i] === ch) return i;
24 + }
25 + return -1;
26 +}
27 +
28 +function pad(str, width) {
29 + while (str.length < width) str = "0" + str;
30 + return str;
31 +}
32 +
33 +function esc(code) {
34 + const hex = code.toString(16);
35 + if (hex.length <= 2) return "\\x" + pad(hex, 2);
36 + else return "\\u" + pad(hex, 4);
37 +}
38 +
39 +function generate(chars) {
40 + const astral = [];
41 + let re = "";
42 + for (let i = 0, at = 0x10000; i < chars.length; i++) {
43 + const from = chars[i];
44 + let to = from;
45 + while (i < chars.length - 1 && chars[i + 1] == to + 1) {
46 + i++;
47 + to++;
48 + }
49 + if (to <= 0xffff) {
50 + if (from == to) re += esc(from);
51 + else if (from + 1 == to) re += esc(from) + esc(to);
52 + else re += esc(from) + "-" + esc(to);
53 + } else {
54 + astral.push(from - at, to - from);
55 + at = to;
56 + }
57 + }
58 + return { nonASCII: re, astral: astral };
59 +}
60 +
61 +const startData = generate(start);
62 +const contData = generate(cont);
63 +
64 +console.log("/* prettier-ignore */");
65 +console.log('let nonASCIIidentifierStartChars = "' + startData.nonASCII + '";');
66 +console.log("/* prettier-ignore */");
67 +console.log('let nonASCIIidentifierChars = "' + contData.nonASCII + '";');
68 +console.log("/* prettier-ignore */");
69 +console.log(
70 + "const astralIdentifierStartCodes = " + JSON.stringify(startData.astral) + ";"
71 +);
72 +console.log("/* prettier-ignore */");
73 +console.log(
74 + "const astralIdentifierCodes = " + JSON.stringify(contData.astral) + ";"
75 +);
1 +MIT License
2 +
3 +Copyright (c) 2014-present Sebastian McKenzie and other contributors
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining
6 +a copy of this software and associated documentation files (the
7 +"Software"), to deal in the Software without restriction, including
8 +without limitation the rights to use, copy, modify, merge, publish,
9 +distribute, sublicense, and/or sell copies of the Software, and to
10 +permit persons to whom the Software is furnished to do so, subject to
11 +the following conditions:
12 +
13 +The above copyright notice and this permission notice shall be
14 +included in all copies or substantial portions of the Software.
15 +
16 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1 +# @babel/highlight
2 +
3 +> Syntax highlight JavaScript strings for output in terminals.
4 +
5 +See our website [@babel/highlight](https://babeljs.io/docs/en/babel-highlight) for more information.
6 +
7 +## Install
8 +
9 +Using npm:
10 +
11 +```sh
12 +npm install --save-dev @babel/highlight
13 +```
14 +
15 +or using yarn:
16 +
17 +```sh
18 +yarn add @babel/highlight --dev
19 +```
1 +"use strict";
2 +
3 +Object.defineProperty(exports, "__esModule", {
4 + value: true
5 +});
6 +exports.default = highlight;
7 +exports.getChalk = getChalk;
8 +exports.shouldHighlight = shouldHighlight;
9 +
10 +var _jsTokens = require("js-tokens");
11 +
12 +var _helperValidatorIdentifier = require("@babel/helper-validator-identifier");
13 +
14 +var _chalk = require("chalk");
15 +
16 +const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
17 +
18 +function getDefs(chalk) {
19 + return {
20 + keyword: chalk.cyan,
21 + capitalized: chalk.yellow,
22 + jsxIdentifier: chalk.yellow,
23 + punctuator: chalk.yellow,
24 + number: chalk.magenta,
25 + string: chalk.green,
26 + regex: chalk.magenta,
27 + comment: chalk.grey,
28 + invalid: chalk.white.bgRed.bold
29 + };
30 +}
31 +
32 +const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
33 +const BRACKET = /^[()[\]{}]$/;
34 +let tokenize;
35 +{
36 + const JSX_TAG = /^[a-z][\w-]*$/i;
37 +
38 + const getTokenType = function (token, offset, text) {
39 + if (token.type === "name") {
40 + if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) {
41 + return "keyword";
42 + }
43 +
44 + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) == "</")) {
45 + return "jsxIdentifier";
46 + }
47 +
48 + if (token.value[0] !== token.value[0].toLowerCase()) {
49 + return "capitalized";
50 + }
51 + }
52 +
53 + if (token.type === "punctuator" && BRACKET.test(token.value)) {
54 + return "bracket";
55 + }
56 +
57 + if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
58 + return "punctuator";
59 + }
60 +
61 + return token.type;
62 + };
63 +
64 + tokenize = function* (text) {
65 + let match;
66 +
67 + while (match = _jsTokens.default.exec(text)) {
68 + const token = _jsTokens.matchToToken(match);
69 +
70 + yield {
71 + type: getTokenType(token, match.index, text),
72 + value: token.value
73 + };
74 + }
75 + };
76 +}
77 +
78 +function highlightTokens(defs, text) {
79 + let highlighted = "";
80 +
81 + for (const {
82 + type,
83 + value
84 + } of tokenize(text)) {
85 + const colorize = defs[type];
86 +
87 + if (colorize) {
88 + highlighted += value.split(NEWLINE).map(str => colorize(str)).join("\n");
89 + } else {
90 + highlighted += value;
91 + }
92 + }
93 +
94 + return highlighted;
95 +}
96 +
97 +function shouldHighlight(options) {
98 + return !!_chalk.supportsColor || options.forceColor;
99 +}
100 +
101 +function getChalk(options) {
102 + return options.forceColor ? new _chalk.constructor({
103 + enabled: true,
104 + level: 1
105 + }) : _chalk;
106 +}
107 +
108 +function highlight(code, options = {}) {
109 + if (code !== "" && shouldHighlight(options)) {
110 + const chalk = getChalk(options);
111 + const defs = getDefs(chalk);
112 + return highlightTokens(defs, code);
113 + } else {
114 + return code;
115 + }
116 +}
...\ No newline at end of file ...\ No newline at end of file
1 +'use strict';
2 +const colorConvert = require('color-convert');
3 +
4 +const wrapAnsi16 = (fn, offset) => function () {
5 + const code = fn.apply(colorConvert, arguments);
6 + return `\u001B[${code + offset}m`;
7 +};
8 +
9 +const wrapAnsi256 = (fn, offset) => function () {
10 + const code = fn.apply(colorConvert, arguments);
11 + return `\u001B[${38 + offset};5;${code}m`;
12 +};
13 +
14 +const wrapAnsi16m = (fn, offset) => function () {
15 + const rgb = fn.apply(colorConvert, arguments);
16 + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
17 +};
18 +
19 +function assembleStyles() {
20 + const codes = new Map();
21 + const styles = {
22 + modifier: {
23 + reset: [0, 0],
24 + // 21 isn't widely supported and 22 does the same thing
25 + bold: [1, 22],
26 + dim: [2, 22],
27 + italic: [3, 23],
28 + underline: [4, 24],
29 + inverse: [7, 27],
30 + hidden: [8, 28],
31 + strikethrough: [9, 29]
32 + },
33 + color: {
34 + black: [30, 39],
35 + red: [31, 39],
36 + green: [32, 39],
37 + yellow: [33, 39],
38 + blue: [34, 39],
39 + magenta: [35, 39],
40 + cyan: [36, 39],
41 + white: [37, 39],
42 + gray: [90, 39],
43 +
44 + // Bright color
45 + redBright: [91, 39],
46 + greenBright: [92, 39],
47 + yellowBright: [93, 39],
48 + blueBright: [94, 39],
49 + magentaBright: [95, 39],
50 + cyanBright: [96, 39],
51 + whiteBright: [97, 39]
52 + },
53 + bgColor: {
54 + bgBlack: [40, 49],
55 + bgRed: [41, 49],
56 + bgGreen: [42, 49],
57 + bgYellow: [43, 49],
58 + bgBlue: [44, 49],
59 + bgMagenta: [45, 49],
60 + bgCyan: [46, 49],
61 + bgWhite: [47, 49],
62 +
63 + // Bright color
64 + bgBlackBright: [100, 49],
65 + bgRedBright: [101, 49],
66 + bgGreenBright: [102, 49],
67 + bgYellowBright: [103, 49],
68 + bgBlueBright: [104, 49],
69 + bgMagentaBright: [105, 49],
70 + bgCyanBright: [106, 49],
71 + bgWhiteBright: [107, 49]
72 + }
73 + };
74 +
75 + // Fix humans
76 + styles.color.grey = styles.color.gray;
77 +
78 + for (const groupName of Object.keys(styles)) {
79 + const group = styles[groupName];
80 +
81 + for (const styleName of Object.keys(group)) {
82 + const style = group[styleName];
83 +
84 + styles[styleName] = {
85 + open: `\u001B[${style[0]}m`,
86 + close: `\u001B[${style[1]}m`
87 + };
88 +
89 + group[styleName] = styles[styleName];
90 +
91 + codes.set(style[0], style[1]);
92 + }
93 +
94 + Object.defineProperty(styles, groupName, {
95 + value: group,
96 + enumerable: false
97 + });
98 +
99 + Object.defineProperty(styles, 'codes', {
100 + value: codes,
101 + enumerable: false
102 + });
103 + }
104 +
105 + const ansi2ansi = n => n;
106 + const rgb2rgb = (r, g, b) => [r, g, b];
107 +
108 + styles.color.close = '\u001B[39m';
109 + styles.bgColor.close = '\u001B[49m';
110 +
111 + styles.color.ansi = {
112 + ansi: wrapAnsi16(ansi2ansi, 0)
113 + };
114 + styles.color.ansi256 = {
115 + ansi256: wrapAnsi256(ansi2ansi, 0)
116 + };
117 + styles.color.ansi16m = {
118 + rgb: wrapAnsi16m(rgb2rgb, 0)
119 + };
120 +
121 + styles.bgColor.ansi = {
122 + ansi: wrapAnsi16(ansi2ansi, 10)
123 + };
124 + styles.bgColor.ansi256 = {
125 + ansi256: wrapAnsi256(ansi2ansi, 10)
126 + };
127 + styles.bgColor.ansi16m = {
128 + rgb: wrapAnsi16m(rgb2rgb, 10)
129 + };
130 +
131 + for (let key of Object.keys(colorConvert)) {
132 + if (typeof colorConvert[key] !== 'object') {
133 + continue;
134 + }
135 +
136 + const suite = colorConvert[key];
137 +
138 + if (key === 'ansi16') {
139 + key = 'ansi';
140 + }
141 +
142 + if ('ansi16' in suite) {
143 + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);
144 + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);
145 + }
146 +
147 + if ('ansi256' in suite) {
148 + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);
149 + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);
150 + }
151 +
152 + if ('rgb' in suite) {
153 + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);
154 + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);
155 + }
156 + }
157 +
158 + return styles;
159 +}
160 +
161 +// Make the export immutable
162 +Object.defineProperty(module, 'exports', {
163 + enumerable: true,
164 + get: assembleStyles
165 +});
1 +MIT License
2 +
3 +Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 +
7 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 +
9 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1 +{
2 + "_from": "ansi-styles@^3.2.1",
3 + "_id": "ansi-styles@3.2.1",
4 + "_inBundle": false,
5 + "_integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
6 + "_location": "/@babel/highlight/ansi-styles",
7 + "_phantomChildren": {},
8 + "_requested": {
9 + "type": "range",
10 + "registry": true,
11 + "raw": "ansi-styles@^3.2.1",
12 + "name": "ansi-styles",
13 + "escapedName": "ansi-styles",
14 + "rawSpec": "^3.2.1",
15 + "saveSpec": null,
16 + "fetchSpec": "^3.2.1"
17 + },
18 + "_requiredBy": [
19 + "/@babel/highlight/chalk"
20 + ],
21 + "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
22 + "_shasum": "41fbb20243e50b12be0f04b8dedbf07520ce841d",
23 + "_spec": "ansi-styles@^3.2.1",
24 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\@babel\\highlight\\node_modules\\chalk",
25 + "author": {
26 + "name": "Sindre Sorhus",
27 + "email": "sindresorhus@gmail.com",
28 + "url": "sindresorhus.com"
29 + },
30 + "ava": {
31 + "require": "babel-polyfill"
32 + },
33 + "bugs": {
34 + "url": "https://github.com/chalk/ansi-styles/issues"
35 + },
36 + "bundleDependencies": false,
37 + "dependencies": {
38 + "color-convert": "^1.9.0"
39 + },
40 + "deprecated": false,
41 + "description": "ANSI escape codes for styling strings in the terminal",
42 + "devDependencies": {
43 + "ava": "*",
44 + "babel-polyfill": "^6.23.0",
45 + "svg-term-cli": "^2.1.1",
46 + "xo": "*"
47 + },
48 + "engines": {
49 + "node": ">=4"
50 + },
51 + "files": [
52 + "index.js"
53 + ],
54 + "homepage": "https://github.com/chalk/ansi-styles#readme",
55 + "keywords": [
56 + "ansi",
57 + "styles",
58 + "color",
59 + "colour",
60 + "colors",
61 + "terminal",
62 + "console",
63 + "cli",
64 + "string",
65 + "tty",
66 + "escape",
67 + "formatting",
68 + "rgb",
69 + "256",
70 + "shell",
71 + "xterm",
72 + "log",
73 + "logging",
74 + "command-line",
75 + "text"
76 + ],
77 + "license": "MIT",
78 + "name": "ansi-styles",
79 + "repository": {
80 + "type": "git",
81 + "url": "git+https://github.com/chalk/ansi-styles.git"
82 + },
83 + "scripts": {
84 + "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor",
85 + "test": "xo && ava"
86 + },
87 + "version": "3.2.1"
88 +}
1 +# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles)
2 +
3 +> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal
4 +
5 +You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings.
6 +
7 +<img src="https://cdn.rawgit.com/chalk/ansi-styles/8261697c95bf34b6c7767e2cbe9941a851d59385/screenshot.svg" width="900">
8 +
9 +
10 +## Install
11 +
12 +```
13 +$ npm install ansi-styles
14 +```
15 +
16 +
17 +## Usage
18 +
19 +```js
20 +const style = require('ansi-styles');
21 +
22 +console.log(`${style.green.open}Hello world!${style.green.close}`);
23 +
24 +
25 +// Color conversion between 16/256/truecolor
26 +// NOTE: If conversion goes to 16 colors or 256 colors, the original color
27 +// may be degraded to fit that color palette. This means terminals
28 +// that do not support 16 million colors will best-match the
29 +// original color.
30 +console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close);
31 +console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close);
32 +console.log(style.color.ansi16m.hex('#ABCDEF') + 'Hello world!' + style.color.close);
33 +```
34 +
35 +## API
36 +
37 +Each style has an `open` and `close` property.
38 +
39 +
40 +## Styles
41 +
42 +### Modifiers
43 +
44 +- `reset`
45 +- `bold`
46 +- `dim`
47 +- `italic` *(Not widely supported)*
48 +- `underline`
49 +- `inverse`
50 +- `hidden`
51 +- `strikethrough` *(Not widely supported)*
52 +
53 +### Colors
54 +
55 +- `black`
56 +- `red`
57 +- `green`
58 +- `yellow`
59 +- `blue`
60 +- `magenta`
61 +- `cyan`
62 +- `white`
63 +- `gray` ("bright black")
64 +- `redBright`
65 +- `greenBright`
66 +- `yellowBright`
67 +- `blueBright`
68 +- `magentaBright`
69 +- `cyanBright`
70 +- `whiteBright`
71 +
72 +### Background colors
73 +
74 +- `bgBlack`
75 +- `bgRed`
76 +- `bgGreen`
77 +- `bgYellow`
78 +- `bgBlue`
79 +- `bgMagenta`
80 +- `bgCyan`
81 +- `bgWhite`
82 +- `bgBlackBright`
83 +- `bgRedBright`
84 +- `bgGreenBright`
85 +- `bgYellowBright`
86 +- `bgBlueBright`
87 +- `bgMagentaBright`
88 +- `bgCyanBright`
89 +- `bgWhiteBright`
90 +
91 +
92 +## Advanced usage
93 +
94 +By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module.
95 +
96 +- `style.modifier`
97 +- `style.color`
98 +- `style.bgColor`
99 +
100 +###### Example
101 +
102 +```js
103 +console.log(style.color.green.open);
104 +```
105 +
106 +Raw escape codes (i.e. without the CSI escape prefix `\u001B[` and render mode postfix `m`) are available under `style.codes`, which returns a `Map` with the open codes as keys and close codes as values.
107 +
108 +###### Example
109 +
110 +```js
111 +console.log(style.codes.get(36));
112 +//=> 39
113 +```
114 +
115 +
116 +## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728)
117 +
118 +`ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors.
119 +
120 +To use these, call the associated conversion function with the intended output, for example:
121 +
122 +```js
123 +style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code
124 +style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code
125 +
126 +style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code
127 +style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code
128 +
129 +style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code
130 +style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code
131 +```
132 +
133 +
134 +## Related
135 +
136 +- [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal
137 +
138 +
139 +## Maintainers
140 +
141 +- [Sindre Sorhus](https://github.com/sindresorhus)
142 +- [Josh Junon](https://github.com/qix-)
143 +
144 +
145 +## License
146 +
147 +MIT
1 +'use strict';
2 +const escapeStringRegexp = require('escape-string-regexp');
3 +const ansiStyles = require('ansi-styles');
4 +const stdoutColor = require('supports-color').stdout;
5 +
6 +const template = require('./templates.js');
7 +
8 +const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm');
9 +
10 +// `supportsColor.level` → `ansiStyles.color[name]` mapping
11 +const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];
12 +
13 +// `color-convert` models to exclude from the Chalk API due to conflicts and such
14 +const skipModels = new Set(['gray']);
15 +
16 +const styles = Object.create(null);
17 +
18 +function applyOptions(obj, options) {
19 + options = options || {};
20 +
21 + // Detect level if not set manually
22 + const scLevel = stdoutColor ? stdoutColor.level : 0;
23 + obj.level = options.level === undefined ? scLevel : options.level;
24 + obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;
25 +}
26 +
27 +function Chalk(options) {
28 + // We check for this.template here since calling `chalk.constructor()`
29 + // by itself will have a `this` of a previously constructed chalk object
30 + if (!this || !(this instanceof Chalk) || this.template) {
31 + const chalk = {};
32 + applyOptions(chalk, options);
33 +
34 + chalk.template = function () {
35 + const args = [].slice.call(arguments);
36 + return chalkTag.apply(null, [chalk.template].concat(args));
37 + };
38 +
39 + Object.setPrototypeOf(chalk, Chalk.prototype);
40 + Object.setPrototypeOf(chalk.template, chalk);
41 +
42 + chalk.template.constructor = Chalk;
43 +
44 + return chalk.template;
45 + }
46 +
47 + applyOptions(this, options);
48 +}
49 +
50 +// Use bright blue on Windows as the normal blue color is illegible
51 +if (isSimpleWindowsTerm) {
52 + ansiStyles.blue.open = '\u001B[94m';
53 +}
54 +
55 +for (const key of Object.keys(ansiStyles)) {
56 + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
57 +
58 + styles[key] = {
59 + get() {
60 + const codes = ansiStyles[key];
61 + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);
62 + }
63 + };
64 +}
65 +
66 +styles.visible = {
67 + get() {
68 + return build.call(this, this._styles || [], true, 'visible');
69 + }
70 +};
71 +
72 +ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');
73 +for (const model of Object.keys(ansiStyles.color.ansi)) {
74 + if (skipModels.has(model)) {
75 + continue;
76 + }
77 +
78 + styles[model] = {
79 + get() {
80 + const level = this.level;
81 + return function () {
82 + const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);
83 + const codes = {
84 + open,
85 + close: ansiStyles.color.close,
86 + closeRe: ansiStyles.color.closeRe
87 + };
88 + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
89 + };
90 + }
91 + };
92 +}
93 +
94 +ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');
95 +for (const model of Object.keys(ansiStyles.bgColor.ansi)) {
96 + if (skipModels.has(model)) {
97 + continue;
98 + }
99 +
100 + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);
101 + styles[bgModel] = {
102 + get() {
103 + const level = this.level;
104 + return function () {
105 + const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);
106 + const codes = {
107 + open,
108 + close: ansiStyles.bgColor.close,
109 + closeRe: ansiStyles.bgColor.closeRe
110 + };
111 + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
112 + };
113 + }
114 + };
115 +}
116 +
117 +const proto = Object.defineProperties(() => {}, styles);
118 +
119 +function build(_styles, _empty, key) {
120 + const builder = function () {
121 + return applyStyle.apply(builder, arguments);
122 + };
123 +
124 + builder._styles = _styles;
125 + builder._empty = _empty;
126 +
127 + const self = this;
128 +
129 + Object.defineProperty(builder, 'level', {
130 + enumerable: true,
131 + get() {
132 + return self.level;
133 + },
134 + set(level) {
135 + self.level = level;
136 + }
137 + });
138 +
139 + Object.defineProperty(builder, 'enabled', {
140 + enumerable: true,
141 + get() {
142 + return self.enabled;
143 + },
144 + set(enabled) {
145 + self.enabled = enabled;
146 + }
147 + });
148 +
149 + // See below for fix regarding invisible grey/dim combination on Windows
150 + builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';
151 +
152 + // `__proto__` is used because we must return a function, but there is
153 + // no way to create a function with a different prototype
154 + builder.__proto__ = proto; // eslint-disable-line no-proto
155 +
156 + return builder;
157 +}
158 +
159 +function applyStyle() {
160 + // Support varags, but simply cast to string in case there's only one arg
161 + const args = arguments;
162 + const argsLen = args.length;
163 + let str = String(arguments[0]);
164 +
165 + if (argsLen === 0) {
166 + return '';
167 + }
168 +
169 + if (argsLen > 1) {
170 + // Don't slice `arguments`, it prevents V8 optimizations
171 + for (let a = 1; a < argsLen; a++) {
172 + str += ' ' + args[a];
173 + }
174 + }
175 +
176 + if (!this.enabled || this.level <= 0 || !str) {
177 + return this._empty ? '' : str;
178 + }
179 +
180 + // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,
181 + // see https://github.com/chalk/chalk/issues/58
182 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.
183 + const originalDim = ansiStyles.dim.open;
184 + if (isSimpleWindowsTerm && this.hasGrey) {
185 + ansiStyles.dim.open = '';
186 + }
187 +
188 + for (const code of this._styles.slice().reverse()) {
189 + // Replace any instances already present with a re-opening code
190 + // otherwise only the part of the string until said closing code
191 + // will be colored, and the rest will simply be 'plain'.
192 + str = code.open + str.replace(code.closeRe, code.open) + code.close;
193 +
194 + // Close the styling before a linebreak and reopen
195 + // after next line to fix a bleed issue on macOS
196 + // https://github.com/chalk/chalk/pull/92
197 + str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`);
198 + }
199 +
200 + // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue
201 + ansiStyles.dim.open = originalDim;
202 +
203 + return str;
204 +}
205 +
206 +function chalkTag(chalk, strings) {
207 + if (!Array.isArray(strings)) {
208 + // If chalk() was called by itself or with a string,
209 + // return the string itself as a string.
210 + return [].slice.call(arguments, 1).join(' ');
211 + }
212 +
213 + const args = [].slice.call(arguments, 2);
214 + const parts = [strings.raw[0]];
215 +
216 + for (let i = 1; i < strings.length; i++) {
217 + parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&'));
218 + parts.push(String(strings.raw[i]));
219 + }
220 +
221 + return template(chalk, parts.join(''));
222 +}
223 +
224 +Object.defineProperties(Chalk.prototype, styles);
225 +
226 +module.exports = Chalk(); // eslint-disable-line new-cap
227 +module.exports.supportsColor = stdoutColor;
228 +module.exports.default = module.exports; // For TypeScript
1 +// @flow strict
2 +
3 +type TemplateStringsArray = $ReadOnlyArray<string>;
4 +
5 +export type Level = $Values<{
6 + None: 0,
7 + Basic: 1,
8 + Ansi256: 2,
9 + TrueColor: 3
10 +}>;
11 +
12 +export type ChalkOptions = {|
13 + enabled?: boolean,
14 + level?: Level
15 +|};
16 +
17 +export type ColorSupport = {|
18 + level: Level,
19 + hasBasic: boolean,
20 + has256: boolean,
21 + has16m: boolean
22 +|};
23 +
24 +export interface Chalk {
25 + (...text: string[]): string,
26 + (text: TemplateStringsArray, ...placeholders: string[]): string,
27 + constructor(options?: ChalkOptions): Chalk,
28 + enabled: boolean,
29 + level: Level,
30 + rgb(r: number, g: number, b: number): Chalk,
31 + hsl(h: number, s: number, l: number): Chalk,
32 + hsv(h: number, s: number, v: number): Chalk,
33 + hwb(h: number, w: number, b: number): Chalk,
34 + bgHex(color: string): Chalk,
35 + bgKeyword(color: string): Chalk,
36 + bgRgb(r: number, g: number, b: number): Chalk,
37 + bgHsl(h: number, s: number, l: number): Chalk,
38 + bgHsv(h: number, s: number, v: number): Chalk,
39 + bgHwb(h: number, w: number, b: number): Chalk,
40 + hex(color: string): Chalk,
41 + keyword(color: string): Chalk,
42 +
43 + +reset: Chalk,
44 + +bold: Chalk,
45 + +dim: Chalk,
46 + +italic: Chalk,
47 + +underline: Chalk,
48 + +inverse: Chalk,
49 + +hidden: Chalk,
50 + +strikethrough: Chalk,
51 +
52 + +visible: Chalk,
53 +
54 + +black: Chalk,
55 + +red: Chalk,
56 + +green: Chalk,
57 + +yellow: Chalk,
58 + +blue: Chalk,
59 + +magenta: Chalk,
60 + +cyan: Chalk,
61 + +white: Chalk,
62 + +gray: Chalk,
63 + +grey: Chalk,
64 + +blackBright: Chalk,
65 + +redBright: Chalk,
66 + +greenBright: Chalk,
67 + +yellowBright: Chalk,
68 + +blueBright: Chalk,
69 + +magentaBright: Chalk,
70 + +cyanBright: Chalk,
71 + +whiteBright: Chalk,
72 +
73 + +bgBlack: Chalk,
74 + +bgRed: Chalk,
75 + +bgGreen: Chalk,
76 + +bgYellow: Chalk,
77 + +bgBlue: Chalk,
78 + +bgMagenta: Chalk,
79 + +bgCyan: Chalk,
80 + +bgWhite: Chalk,
81 + +bgBlackBright: Chalk,
82 + +bgRedBright: Chalk,
83 + +bgGreenBright: Chalk,
84 + +bgYellowBright: Chalk,
85 + +bgBlueBright: Chalk,
86 + +bgMagentaBright: Chalk,
87 + +bgCyanBright: Chalk,
88 + +bgWhiteBrigh: Chalk,
89 +
90 + supportsColor: ColorSupport
91 +};
92 +
93 +declare module.exports: Chalk;
1 +MIT License
2 +
3 +Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 +
7 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 +
9 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1 +{
2 + "_from": "chalk@^2.0.0",
3 + "_id": "chalk@2.4.2",
4 + "_inBundle": false,
5 + "_integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
6 + "_location": "/@babel/highlight/chalk",
7 + "_phantomChildren": {},
8 + "_requested": {
9 + "type": "range",
10 + "registry": true,
11 + "raw": "chalk@^2.0.0",
12 + "name": "chalk",
13 + "escapedName": "chalk",
14 + "rawSpec": "^2.0.0",
15 + "saveSpec": null,
16 + "fetchSpec": "^2.0.0"
17 + },
18 + "_requiredBy": [
19 + "/@babel/highlight"
20 + ],
21 + "_resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
22 + "_shasum": "cd42541677a54333cf541a49108c1432b44c9424",
23 + "_spec": "chalk@^2.0.0",
24 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\@babel\\highlight",
25 + "bugs": {
26 + "url": "https://github.com/chalk/chalk/issues"
27 + },
28 + "bundleDependencies": false,
29 + "dependencies": {
30 + "ansi-styles": "^3.2.1",
31 + "escape-string-regexp": "^1.0.5",
32 + "supports-color": "^5.3.0"
33 + },
34 + "deprecated": false,
35 + "description": "Terminal string styling done right",
36 + "devDependencies": {
37 + "ava": "*",
38 + "coveralls": "^3.0.0",
39 + "execa": "^0.9.0",
40 + "flow-bin": "^0.68.0",
41 + "import-fresh": "^2.0.0",
42 + "matcha": "^0.7.0",
43 + "nyc": "^11.0.2",
44 + "resolve-from": "^4.0.0",
45 + "typescript": "^2.5.3",
46 + "xo": "*"
47 + },
48 + "engines": {
49 + "node": ">=4"
50 + },
51 + "files": [
52 + "index.js",
53 + "templates.js",
54 + "types/index.d.ts",
55 + "index.js.flow"
56 + ],
57 + "homepage": "https://github.com/chalk/chalk#readme",
58 + "keywords": [
59 + "color",
60 + "colour",
61 + "colors",
62 + "terminal",
63 + "console",
64 + "cli",
65 + "string",
66 + "str",
67 + "ansi",
68 + "style",
69 + "styles",
70 + "tty",
71 + "formatting",
72 + "rgb",
73 + "256",
74 + "shell",
75 + "xterm",
76 + "log",
77 + "logging",
78 + "command-line",
79 + "text"
80 + ],
81 + "license": "MIT",
82 + "name": "chalk",
83 + "repository": {
84 + "type": "git",
85 + "url": "git+https://github.com/chalk/chalk.git"
86 + },
87 + "scripts": {
88 + "bench": "matcha benchmark.js",
89 + "coveralls": "nyc report --reporter=text-lcov | coveralls",
90 + "test": "xo && tsc --project types && flow --max-warnings=0 && nyc ava"
91 + },
92 + "types": "types/index.d.ts",
93 + "version": "2.4.2",
94 + "xo": {
95 + "envs": [
96 + "node",
97 + "mocha"
98 + ],
99 + "ignores": [
100 + "test/_flow.js"
101 + ]
102 + }
103 +}
This diff is collapsed. Click to expand it.
1 +'use strict';
2 +const TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
3 +const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
4 +const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
5 +const ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;
6 +
7 +const ESCAPES = new Map([
8 + ['n', '\n'],
9 + ['r', '\r'],
10 + ['t', '\t'],
11 + ['b', '\b'],
12 + ['f', '\f'],
13 + ['v', '\v'],
14 + ['0', '\0'],
15 + ['\\', '\\'],
16 + ['e', '\u001B'],
17 + ['a', '\u0007']
18 +]);
19 +
20 +function unescape(c) {
21 + if ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) {
22 + return String.fromCharCode(parseInt(c.slice(1), 16));
23 + }
24 +
25 + return ESCAPES.get(c) || c;
26 +}
27 +
28 +function parseArguments(name, args) {
29 + const results = [];
30 + const chunks = args.trim().split(/\s*,\s*/g);
31 + let matches;
32 +
33 + for (const chunk of chunks) {
34 + if (!isNaN(chunk)) {
35 + results.push(Number(chunk));
36 + } else if ((matches = chunk.match(STRING_REGEX))) {
37 + results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));
38 + } else {
39 + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
40 + }
41 + }
42 +
43 + return results;
44 +}
45 +
46 +function parseStyle(style) {
47 + STYLE_REGEX.lastIndex = 0;
48 +
49 + const results = [];
50 + let matches;
51 +
52 + while ((matches = STYLE_REGEX.exec(style)) !== null) {
53 + const name = matches[1];
54 +
55 + if (matches[2]) {
56 + const args = parseArguments(name, matches[2]);
57 + results.push([name].concat(args));
58 + } else {
59 + results.push([name]);
60 + }
61 + }
62 +
63 + return results;
64 +}
65 +
66 +function buildStyle(chalk, styles) {
67 + const enabled = {};
68 +
69 + for (const layer of styles) {
70 + for (const style of layer.styles) {
71 + enabled[style[0]] = layer.inverse ? null : style.slice(1);
72 + }
73 + }
74 +
75 + let current = chalk;
76 + for (const styleName of Object.keys(enabled)) {
77 + if (Array.isArray(enabled[styleName])) {
78 + if (!(styleName in current)) {
79 + throw new Error(`Unknown Chalk style: ${styleName}`);
80 + }
81 +
82 + if (enabled[styleName].length > 0) {
83 + current = current[styleName].apply(current, enabled[styleName]);
84 + } else {
85 + current = current[styleName];
86 + }
87 + }
88 + }
89 +
90 + return current;
91 +}
92 +
93 +module.exports = (chalk, tmp) => {
94 + const styles = [];
95 + const chunks = [];
96 + let chunk = [];
97 +
98 + // eslint-disable-next-line max-params
99 + tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {
100 + if (escapeChar) {
101 + chunk.push(unescape(escapeChar));
102 + } else if (style) {
103 + const str = chunk.join('');
104 + chunk = [];
105 + chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));
106 + styles.push({inverse, styles: parseStyle(style)});
107 + } else if (close) {
108 + if (styles.length === 0) {
109 + throw new Error('Found extraneous } in Chalk template literal');
110 + }
111 +
112 + chunks.push(buildStyle(chalk, styles)(chunk.join('')));
113 + chunk = [];
114 + styles.pop();
115 + } else {
116 + chunk.push(chr);
117 + }
118 + });
119 +
120 + chunks.push(chunk.join(''));
121 +
122 + if (styles.length > 0) {
123 + const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`;
124 + throw new Error(errMsg);
125 + }
126 +
127 + return chunks.join('');
128 +};
1 +// Type definitions for Chalk
2 +// Definitions by: Thomas Sauer <https://github.com/t-sauer>
3 +
4 +export const enum Level {
5 + None = 0,
6 + Basic = 1,
7 + Ansi256 = 2,
8 + TrueColor = 3
9 +}
10 +
11 +export interface ChalkOptions {
12 + enabled?: boolean;
13 + level?: Level;
14 +}
15 +
16 +export interface ChalkConstructor {
17 + new (options?: ChalkOptions): Chalk;
18 + (options?: ChalkOptions): Chalk;
19 +}
20 +
21 +export interface ColorSupport {
22 + level: Level;
23 + hasBasic: boolean;
24 + has256: boolean;
25 + has16m: boolean;
26 +}
27 +
28 +export interface Chalk {
29 + (...text: string[]): string;
30 + (text: TemplateStringsArray, ...placeholders: string[]): string;
31 + constructor: ChalkConstructor;
32 + enabled: boolean;
33 + level: Level;
34 + rgb(r: number, g: number, b: number): this;
35 + hsl(h: number, s: number, l: number): this;
36 + hsv(h: number, s: number, v: number): this;
37 + hwb(h: number, w: number, b: number): this;
38 + bgHex(color: string): this;
39 + bgKeyword(color: string): this;
40 + bgRgb(r: number, g: number, b: number): this;
41 + bgHsl(h: number, s: number, l: number): this;
42 + bgHsv(h: number, s: number, v: number): this;
43 + bgHwb(h: number, w: number, b: number): this;
44 + hex(color: string): this;
45 + keyword(color: string): this;
46 +
47 + readonly reset: this;
48 + readonly bold: this;
49 + readonly dim: this;
50 + readonly italic: this;
51 + readonly underline: this;
52 + readonly inverse: this;
53 + readonly hidden: this;
54 + readonly strikethrough: this;
55 +
56 + readonly visible: this;
57 +
58 + readonly black: this;
59 + readonly red: this;
60 + readonly green: this;
61 + readonly yellow: this;
62 + readonly blue: this;
63 + readonly magenta: this;
64 + readonly cyan: this;
65 + readonly white: this;
66 + readonly gray: this;
67 + readonly grey: this;
68 + readonly blackBright: this;
69 + readonly redBright: this;
70 + readonly greenBright: this;
71 + readonly yellowBright: this;
72 + readonly blueBright: this;
73 + readonly magentaBright: this;
74 + readonly cyanBright: this;
75 + readonly whiteBright: this;
76 +
77 + readonly bgBlack: this;
78 + readonly bgRed: this;
79 + readonly bgGreen: this;
80 + readonly bgYellow: this;
81 + readonly bgBlue: this;
82 + readonly bgMagenta: this;
83 + readonly bgCyan: this;
84 + readonly bgWhite: this;
85 + readonly bgBlackBright: this;
86 + readonly bgRedBright: this;
87 + readonly bgGreenBright: this;
88 + readonly bgYellowBright: this;
89 + readonly bgBlueBright: this;
90 + readonly bgMagentaBright: this;
91 + readonly bgCyanBright: this;
92 + readonly bgWhiteBright: this;
93 +}
94 +
95 +declare const chalk: Chalk & { supportsColor: ColorSupport };
96 +
97 +export default chalk
1 +# 1.0.0 - 2016-01-07
2 +
3 +- Removed: unused speed test
4 +- Added: Automatic routing between previously unsupported conversions
5 +([#27](https://github.com/Qix-/color-convert/pull/27))
6 +- Removed: `xxx2xxx()` and `xxx2xxxRaw()` functions
7 +([#27](https://github.com/Qix-/color-convert/pull/27))
8 +- Removed: `convert()` class
9 +([#27](https://github.com/Qix-/color-convert/pull/27))
10 +- Changed: all functions to lookup dictionary
11 +([#27](https://github.com/Qix-/color-convert/pull/27))
12 +- Changed: `ansi` to `ansi256`
13 +([#27](https://github.com/Qix-/color-convert/pull/27))
14 +- Fixed: argument grouping for functions requiring only one argument
15 +([#27](https://github.com/Qix-/color-convert/pull/27))
16 +
17 +# 0.6.0 - 2015-07-23
18 +
19 +- Added: methods to handle
20 +[ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) 16/256 colors:
21 + - rgb2ansi16
22 + - rgb2ansi
23 + - hsl2ansi16
24 + - hsl2ansi
25 + - hsv2ansi16
26 + - hsv2ansi
27 + - hwb2ansi16
28 + - hwb2ansi
29 + - cmyk2ansi16
30 + - cmyk2ansi
31 + - keyword2ansi16
32 + - keyword2ansi
33 + - ansi162rgb
34 + - ansi162hsl
35 + - ansi162hsv
36 + - ansi162hwb
37 + - ansi162cmyk
38 + - ansi162keyword
39 + - ansi2rgb
40 + - ansi2hsl
41 + - ansi2hsv
42 + - ansi2hwb
43 + - ansi2cmyk
44 + - ansi2keyword
45 +([#18](https://github.com/harthur/color-convert/pull/18))
46 +
47 +# 0.5.3 - 2015-06-02
48 +
49 +- Fixed: hsl2hsv does not return `NaN` anymore when using `[0,0,0]`
50 +([#15](https://github.com/harthur/color-convert/issues/15))
51 +
52 +---
53 +
54 +Check out commit logs for older releases
1 +Copyright (c) 2011-2016 Heather Arthur <fayearthur@gmail.com>
2 +
3 +Permission is hereby granted, free of charge, to any person obtaining
4 +a copy of this software and associated documentation files (the
5 +"Software"), to deal in the Software without restriction, including
6 +without limitation the rights to use, copy, modify, merge, publish,
7 +distribute, sublicense, and/or sell copies of the Software, and to
8 +permit persons to whom the Software is furnished to do so, subject to
9 +the following conditions:
10 +
11 +The above copyright notice and this permission notice shall be
12 +included in all copies or substantial portions of the Software.
13 +
14 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 +
1 +# color-convert
2 +
3 +[![Build Status](https://travis-ci.org/Qix-/color-convert.svg?branch=master)](https://travis-ci.org/Qix-/color-convert)
4 +
5 +Color-convert is a color conversion library for JavaScript and node.
6 +It converts all ways between `rgb`, `hsl`, `hsv`, `hwb`, `cmyk`, `ansi`, `ansi16`, `hex` strings, and CSS `keyword`s (will round to closest):
7 +
8 +```js
9 +var convert = require('color-convert');
10 +
11 +convert.rgb.hsl(140, 200, 100); // [96, 48, 59]
12 +convert.keyword.rgb('blue'); // [0, 0, 255]
13 +
14 +var rgbChannels = convert.rgb.channels; // 3
15 +var cmykChannels = convert.cmyk.channels; // 4
16 +var ansiChannels = convert.ansi16.channels; // 1
17 +```
18 +
19 +# Install
20 +
21 +```console
22 +$ npm install color-convert
23 +```
24 +
25 +# API
26 +
27 +Simply get the property of the _from_ and _to_ conversion that you're looking for.
28 +
29 +All functions have a rounded and unrounded variant. By default, return values are rounded. To get the unrounded (raw) results, simply tack on `.raw` to the function.
30 +
31 +All 'from' functions have a hidden property called `.channels` that indicates the number of channels the function expects (not including alpha).
32 +
33 +```js
34 +var convert = require('color-convert');
35 +
36 +// Hex to LAB
37 +convert.hex.lab('DEADBF'); // [ 76, 21, -2 ]
38 +convert.hex.lab.raw('DEADBF'); // [ 75.56213190997677, 20.653827952644754, -2.290532499330533 ]
39 +
40 +// RGB to CMYK
41 +convert.rgb.cmyk(167, 255, 4); // [ 35, 0, 98, 0 ]
42 +convert.rgb.cmyk.raw(167, 255, 4); // [ 34.509803921568626, 0, 98.43137254901961, 0 ]
43 +```
44 +
45 +### Arrays
46 +All functions that accept multiple arguments also support passing an array.
47 +
48 +Note that this does **not** apply to functions that convert from a color that only requires one value (e.g. `keyword`, `ansi256`, `hex`, etc.)
49 +
50 +```js
51 +var convert = require('color-convert');
52 +
53 +convert.rgb.hex(123, 45, 67); // '7B2D43'
54 +convert.rgb.hex([123, 45, 67]); // '7B2D43'
55 +```
56 +
57 +## Routing
58 +
59 +Conversions that don't have an _explicitly_ defined conversion (in [conversions.js](conversions.js)), but can be converted by means of sub-conversions (e.g. XYZ -> **RGB** -> CMYK), are automatically routed together. This allows just about any color model supported by `color-convert` to be converted to any other model, so long as a sub-conversion path exists. This is also true for conversions requiring more than one step in between (e.g. LCH -> **LAB** -> **XYZ** -> **RGB** -> Hex).
60 +
61 +Keep in mind that extensive conversions _may_ result in a loss of precision, and exist only to be complete. For a list of "direct" (single-step) conversions, see [conversions.js](conversions.js).
62 +
63 +# Contribute
64 +
65 +If there is a new model you would like to support, or want to add a direct conversion between two existing models, please send us a pull request.
66 +
67 +# License
68 +Copyright &copy; 2011-2016, Heather Arthur and Josh Junon. Licensed under the [MIT License](LICENSE).
1 +var conversions = require('./conversions');
2 +var route = require('./route');
3 +
4 +var convert = {};
5 +
6 +var models = Object.keys(conversions);
7 +
8 +function wrapRaw(fn) {
9 + var wrappedFn = function (args) {
10 + if (args === undefined || args === null) {
11 + return args;
12 + }
13 +
14 + if (arguments.length > 1) {
15 + args = Array.prototype.slice.call(arguments);
16 + }
17 +
18 + return fn(args);
19 + };
20 +
21 + // preserve .conversion property if there is one
22 + if ('conversion' in fn) {
23 + wrappedFn.conversion = fn.conversion;
24 + }
25 +
26 + return wrappedFn;
27 +}
28 +
29 +function wrapRounded(fn) {
30 + var wrappedFn = function (args) {
31 + if (args === undefined || args === null) {
32 + return args;
33 + }
34 +
35 + if (arguments.length > 1) {
36 + args = Array.prototype.slice.call(arguments);
37 + }
38 +
39 + var result = fn(args);
40 +
41 + // we're assuming the result is an array here.
42 + // see notice in conversions.js; don't use box types
43 + // in conversion functions.
44 + if (typeof result === 'object') {
45 + for (var len = result.length, i = 0; i < len; i++) {
46 + result[i] = Math.round(result[i]);
47 + }
48 + }
49 +
50 + return result;
51 + };
52 +
53 + // preserve .conversion property if there is one
54 + if ('conversion' in fn) {
55 + wrappedFn.conversion = fn.conversion;
56 + }
57 +
58 + return wrappedFn;
59 +}
60 +
61 +models.forEach(function (fromModel) {
62 + convert[fromModel] = {};
63 +
64 + Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});
65 + Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});
66 +
67 + var routes = route(fromModel);
68 + var routeModels = Object.keys(routes);
69 +
70 + routeModels.forEach(function (toModel) {
71 + var fn = routes[toModel];
72 +
73 + convert[fromModel][toModel] = wrapRounded(fn);
74 + convert[fromModel][toModel].raw = wrapRaw(fn);
75 + });
76 +});
77 +
78 +module.exports = convert;
1 +{
2 + "_from": "color-convert@^1.9.0",
3 + "_id": "color-convert@1.9.3",
4 + "_inBundle": false,
5 + "_integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
6 + "_location": "/@babel/highlight/color-convert",
7 + "_phantomChildren": {},
8 + "_requested": {
9 + "type": "range",
10 + "registry": true,
11 + "raw": "color-convert@^1.9.0",
12 + "name": "color-convert",
13 + "escapedName": "color-convert",
14 + "rawSpec": "^1.9.0",
15 + "saveSpec": null,
16 + "fetchSpec": "^1.9.0"
17 + },
18 + "_requiredBy": [
19 + "/@babel/highlight/ansi-styles"
20 + ],
21 + "_resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
22 + "_shasum": "bb71850690e1f136567de629d2d5471deda4c1e8",
23 + "_spec": "color-convert@^1.9.0",
24 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\@babel\\highlight\\node_modules\\ansi-styles",
25 + "author": {
26 + "name": "Heather Arthur",
27 + "email": "fayearthur@gmail.com"
28 + },
29 + "bugs": {
30 + "url": "https://github.com/Qix-/color-convert/issues"
31 + },
32 + "bundleDependencies": false,
33 + "dependencies": {
34 + "color-name": "1.1.3"
35 + },
36 + "deprecated": false,
37 + "description": "Plain color conversion functions",
38 + "devDependencies": {
39 + "chalk": "1.1.1",
40 + "xo": "0.11.2"
41 + },
42 + "files": [
43 + "index.js",
44 + "conversions.js",
45 + "css-keywords.js",
46 + "route.js"
47 + ],
48 + "homepage": "https://github.com/Qix-/color-convert#readme",
49 + "keywords": [
50 + "color",
51 + "colour",
52 + "convert",
53 + "converter",
54 + "conversion",
55 + "rgb",
56 + "hsl",
57 + "hsv",
58 + "hwb",
59 + "cmyk",
60 + "ansi",
61 + "ansi16"
62 + ],
63 + "license": "MIT",
64 + "name": "color-convert",
65 + "repository": {
66 + "type": "git",
67 + "url": "git+https://github.com/Qix-/color-convert.git"
68 + },
69 + "scripts": {
70 + "pretest": "xo",
71 + "test": "node test/basic.js"
72 + },
73 + "version": "1.9.3",
74 + "xo": {
75 + "rules": {
76 + "default-case": 0,
77 + "no-inline-comments": 0,
78 + "operator-linebreak": 0
79 + }
80 + }
81 +}
1 +var conversions = require('./conversions');
2 +
3 +/*
4 + this function routes a model to all other models.
5 +
6 + all functions that are routed have a property `.conversion` attached
7 + to the returned synthetic function. This property is an array
8 + of strings, each with the steps in between the 'from' and 'to'
9 + color models (inclusive).
10 +
11 + conversions that are not possible simply are not included.
12 +*/
13 +
14 +function buildGraph() {
15 + var graph = {};
16 + // https://jsperf.com/object-keys-vs-for-in-with-closure/3
17 + var models = Object.keys(conversions);
18 +
19 + for (var len = models.length, i = 0; i < len; i++) {
20 + graph[models[i]] = {
21 + // http://jsperf.com/1-vs-infinity
22 + // micro-opt, but this is simple.
23 + distance: -1,
24 + parent: null
25 + };
26 + }
27 +
28 + return graph;
29 +}
30 +
31 +// https://en.wikipedia.org/wiki/Breadth-first_search
32 +function deriveBFS(fromModel) {
33 + var graph = buildGraph();
34 + var queue = [fromModel]; // unshift -> queue -> pop
35 +
36 + graph[fromModel].distance = 0;
37 +
38 + while (queue.length) {
39 + var current = queue.pop();
40 + var adjacents = Object.keys(conversions[current]);
41 +
42 + for (var len = adjacents.length, i = 0; i < len; i++) {
43 + var adjacent = adjacents[i];
44 + var node = graph[adjacent];
45 +
46 + if (node.distance === -1) {
47 + node.distance = graph[current].distance + 1;
48 + node.parent = current;
49 + queue.unshift(adjacent);
50 + }
51 + }
52 + }
53 +
54 + return graph;
55 +}
56 +
57 +function link(from, to) {
58 + return function (args) {
59 + return to(from(args));
60 + };
61 +}
62 +
63 +function wrapConversion(toModel, graph) {
64 + var path = [graph[toModel].parent, toModel];
65 + var fn = conversions[graph[toModel].parent][toModel];
66 +
67 + var cur = graph[toModel].parent;
68 + while (graph[cur].parent) {
69 + path.unshift(graph[cur].parent);
70 + fn = link(conversions[graph[cur].parent][cur], fn);
71 + cur = graph[cur].parent;
72 + }
73 +
74 + fn.conversion = path;
75 + return fn;
76 +}
77 +
78 +module.exports = function (fromModel) {
79 + var graph = deriveBFS(fromModel);
80 + var conversion = {};
81 +
82 + var models = Object.keys(graph);
83 + for (var len = models.length, i = 0; i < len; i++) {
84 + var toModel = models[i];
85 + var node = graph[toModel];
86 +
87 + if (node.parent === null) {
88 + // no possible conversion, or this node is the source model.
89 + continue;
90 + }
91 +
92 + conversion[toModel] = wrapConversion(toModel, graph);
93 + }
94 +
95 + return conversion;
96 +};
97 +
1 +{
2 + "env": {
3 + "browser": true,
4 + "node": true,
5 + "commonjs": true,
6 + "es6": true
7 + },
8 + "extends": "eslint:recommended",
9 + "rules": {
10 + "strict": 2,
11 + "indent": 0,
12 + "linebreak-style": 0,
13 + "quotes": 0,
14 + "semi": 0,
15 + "no-cond-assign": 1,
16 + "no-constant-condition": 1,
17 + "no-duplicate-case": 1,
18 + "no-empty": 1,
19 + "no-ex-assign": 1,
20 + "no-extra-boolean-cast": 1,
21 + "no-extra-semi": 1,
22 + "no-fallthrough": 1,
23 + "no-func-assign": 1,
24 + "no-global-assign": 1,
25 + "no-implicit-globals": 2,
26 + "no-inner-declarations": ["error", "functions"],
27 + "no-irregular-whitespace": 2,
28 + "no-loop-func": 1,
29 + "no-multi-str": 1,
30 + "no-mixed-spaces-and-tabs": 1,
31 + "no-proto": 1,
32 + "no-sequences": 1,
33 + "no-throw-literal": 1,
34 + "no-unmodified-loop-condition": 1,
35 + "no-useless-call": 1,
36 + "no-void": 1,
37 + "no-with": 2,
38 + "wrap-iife": 1,
39 + "no-redeclare": 1,
40 + "no-unused-vars": ["error", { "vars": "all", "args": "none" }],
41 + "no-sparse-arrays": 1
42 + }
43 +}
1 +//this will affect all the git repos
2 +git config --global core.excludesfile ~/.gitignore
3 +
4 +
5 +//update files since .ignore won't if already tracked
6 +git rm --cached <file>
7 +
8 +# Compiled source #
9 +###################
10 +*.com
11 +*.class
12 +*.dll
13 +*.exe
14 +*.o
15 +*.so
16 +
17 +# Packages #
18 +############
19 +# it's better to unpack these files and commit the raw source
20 +# git has its own built in compression methods
21 +*.7z
22 +*.dmg
23 +*.gz
24 +*.iso
25 +*.jar
26 +*.rar
27 +*.tar
28 +*.zip
29 +
30 +# Logs and databases #
31 +######################
32 +*.log
33 +*.sql
34 +*.sqlite
35 +
36 +# OS generated files #
37 +######################
38 +.DS_Store
39 +.DS_Store?
40 +._*
41 +.Spotlight-V100
42 +.Trashes
43 +# Icon?
44 +ehthumbs.db
45 +Thumbs.db
46 +.cache
47 +.project
48 +.settings
49 +.tmproj
50 +*.esproj
51 +nbproject
52 +
53 +# Numerous always-ignore extensions #
54 +#####################################
55 +*.diff
56 +*.err
57 +*.orig
58 +*.rej
59 +*.swn
60 +*.swo
61 +*.swp
62 +*.vi
63 +*~
64 +*.sass-cache
65 +*.grunt
66 +*.tmp
67 +
68 +# Dreamweaver added files #
69 +###########################
70 +_notes
71 +dwsync.xml
72 +
73 +# Komodo #
74 +###########################
75 +*.komodoproject
76 +.komodotools
77 +
78 +# Node #
79 +#####################
80 +node_modules
81 +
82 +# Bower #
83 +#####################
84 +bower_components
85 +
86 +# Folders to ignore #
87 +#####################
88 +.hg
89 +.svn
90 +.CVS
91 +intermediate
92 +publish
93 +.idea
94 +.graphics
95 +_test
96 +_archive
97 +uploads
98 +tmp
99 +
100 +# Vim files to ignore #
101 +#######################
102 +.VimballRecord
103 +.netrwhist
104 +
105 +bundle.*
106 +
107 +_demo
...\ No newline at end of file ...\ No newline at end of file
1 +The MIT License (MIT)
2 +Copyright (c) 2015 Dmitry Ivanov
3 +
4 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5 +
6 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7 +
8 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
...\ No newline at end of file ...\ No newline at end of file
1 +A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors.
2 +
3 +[![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/)
4 +
5 +
6 +```js
7 +var colors = require('color-name');
8 +colors.red //[255,0,0]
9 +```
10 +
11 +<a href="LICENSE"><img src="https://upload.wikimedia.org/wikipedia/commons/0/0c/MIT_logo.svg" width="120"/></a>
1 +'use strict'
2 +
3 +module.exports = {
4 + "aliceblue": [240, 248, 255],
5 + "antiquewhite": [250, 235, 215],
6 + "aqua": [0, 255, 255],
7 + "aquamarine": [127, 255, 212],
8 + "azure": [240, 255, 255],
9 + "beige": [245, 245, 220],
10 + "bisque": [255, 228, 196],
11 + "black": [0, 0, 0],
12 + "blanchedalmond": [255, 235, 205],
13 + "blue": [0, 0, 255],
14 + "blueviolet": [138, 43, 226],
15 + "brown": [165, 42, 42],
16 + "burlywood": [222, 184, 135],
17 + "cadetblue": [95, 158, 160],
18 + "chartreuse": [127, 255, 0],
19 + "chocolate": [210, 105, 30],
20 + "coral": [255, 127, 80],
21 + "cornflowerblue": [100, 149, 237],
22 + "cornsilk": [255, 248, 220],
23 + "crimson": [220, 20, 60],
24 + "cyan": [0, 255, 255],
25 + "darkblue": [0, 0, 139],
26 + "darkcyan": [0, 139, 139],
27 + "darkgoldenrod": [184, 134, 11],
28 + "darkgray": [169, 169, 169],
29 + "darkgreen": [0, 100, 0],
30 + "darkgrey": [169, 169, 169],
31 + "darkkhaki": [189, 183, 107],
32 + "darkmagenta": [139, 0, 139],
33 + "darkolivegreen": [85, 107, 47],
34 + "darkorange": [255, 140, 0],
35 + "darkorchid": [153, 50, 204],
36 + "darkred": [139, 0, 0],
37 + "darksalmon": [233, 150, 122],
38 + "darkseagreen": [143, 188, 143],
39 + "darkslateblue": [72, 61, 139],
40 + "darkslategray": [47, 79, 79],
41 + "darkslategrey": [47, 79, 79],
42 + "darkturquoise": [0, 206, 209],
43 + "darkviolet": [148, 0, 211],
44 + "deeppink": [255, 20, 147],
45 + "deepskyblue": [0, 191, 255],
46 + "dimgray": [105, 105, 105],
47 + "dimgrey": [105, 105, 105],
48 + "dodgerblue": [30, 144, 255],
49 + "firebrick": [178, 34, 34],
50 + "floralwhite": [255, 250, 240],
51 + "forestgreen": [34, 139, 34],
52 + "fuchsia": [255, 0, 255],
53 + "gainsboro": [220, 220, 220],
54 + "ghostwhite": [248, 248, 255],
55 + "gold": [255, 215, 0],
56 + "goldenrod": [218, 165, 32],
57 + "gray": [128, 128, 128],
58 + "green": [0, 128, 0],
59 + "greenyellow": [173, 255, 47],
60 + "grey": [128, 128, 128],
61 + "honeydew": [240, 255, 240],
62 + "hotpink": [255, 105, 180],
63 + "indianred": [205, 92, 92],
64 + "indigo": [75, 0, 130],
65 + "ivory": [255, 255, 240],
66 + "khaki": [240, 230, 140],
67 + "lavender": [230, 230, 250],
68 + "lavenderblush": [255, 240, 245],
69 + "lawngreen": [124, 252, 0],
70 + "lemonchiffon": [255, 250, 205],
71 + "lightblue": [173, 216, 230],
72 + "lightcoral": [240, 128, 128],
73 + "lightcyan": [224, 255, 255],
74 + "lightgoldenrodyellow": [250, 250, 210],
75 + "lightgray": [211, 211, 211],
76 + "lightgreen": [144, 238, 144],
77 + "lightgrey": [211, 211, 211],
78 + "lightpink": [255, 182, 193],
79 + "lightsalmon": [255, 160, 122],
80 + "lightseagreen": [32, 178, 170],
81 + "lightskyblue": [135, 206, 250],
82 + "lightslategray": [119, 136, 153],
83 + "lightslategrey": [119, 136, 153],
84 + "lightsteelblue": [176, 196, 222],
85 + "lightyellow": [255, 255, 224],
86 + "lime": [0, 255, 0],
87 + "limegreen": [50, 205, 50],
88 + "linen": [250, 240, 230],
89 + "magenta": [255, 0, 255],
90 + "maroon": [128, 0, 0],
91 + "mediumaquamarine": [102, 205, 170],
92 + "mediumblue": [0, 0, 205],
93 + "mediumorchid": [186, 85, 211],
94 + "mediumpurple": [147, 112, 219],
95 + "mediumseagreen": [60, 179, 113],
96 + "mediumslateblue": [123, 104, 238],
97 + "mediumspringgreen": [0, 250, 154],
98 + "mediumturquoise": [72, 209, 204],
99 + "mediumvioletred": [199, 21, 133],
100 + "midnightblue": [25, 25, 112],
101 + "mintcream": [245, 255, 250],
102 + "mistyrose": [255, 228, 225],
103 + "moccasin": [255, 228, 181],
104 + "navajowhite": [255, 222, 173],
105 + "navy": [0, 0, 128],
106 + "oldlace": [253, 245, 230],
107 + "olive": [128, 128, 0],
108 + "olivedrab": [107, 142, 35],
109 + "orange": [255, 165, 0],
110 + "orangered": [255, 69, 0],
111 + "orchid": [218, 112, 214],
112 + "palegoldenrod": [238, 232, 170],
113 + "palegreen": [152, 251, 152],
114 + "paleturquoise": [175, 238, 238],
115 + "palevioletred": [219, 112, 147],
116 + "papayawhip": [255, 239, 213],
117 + "peachpuff": [255, 218, 185],
118 + "peru": [205, 133, 63],
119 + "pink": [255, 192, 203],
120 + "plum": [221, 160, 221],
121 + "powderblue": [176, 224, 230],
122 + "purple": [128, 0, 128],
123 + "rebeccapurple": [102, 51, 153],
124 + "red": [255, 0, 0],
125 + "rosybrown": [188, 143, 143],
126 + "royalblue": [65, 105, 225],
127 + "saddlebrown": [139, 69, 19],
128 + "salmon": [250, 128, 114],
129 + "sandybrown": [244, 164, 96],
130 + "seagreen": [46, 139, 87],
131 + "seashell": [255, 245, 238],
132 + "sienna": [160, 82, 45],
133 + "silver": [192, 192, 192],
134 + "skyblue": [135, 206, 235],
135 + "slateblue": [106, 90, 205],
136 + "slategray": [112, 128, 144],
137 + "slategrey": [112, 128, 144],
138 + "snow": [255, 250, 250],
139 + "springgreen": [0, 255, 127],
140 + "steelblue": [70, 130, 180],
141 + "tan": [210, 180, 140],
142 + "teal": [0, 128, 128],
143 + "thistle": [216, 191, 216],
144 + "tomato": [255, 99, 71],
145 + "turquoise": [64, 224, 208],
146 + "violet": [238, 130, 238],
147 + "wheat": [245, 222, 179],
148 + "white": [255, 255, 255],
149 + "whitesmoke": [245, 245, 245],
150 + "yellow": [255, 255, 0],
151 + "yellowgreen": [154, 205, 50]
152 +};
1 +{
2 + "_from": "color-name@1.1.3",
3 + "_id": "color-name@1.1.3",
4 + "_inBundle": false,
5 + "_integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
6 + "_location": "/@babel/highlight/color-name",
7 + "_phantomChildren": {},
8 + "_requested": {
9 + "type": "version",
10 + "registry": true,
11 + "raw": "color-name@1.1.3",
12 + "name": "color-name",
13 + "escapedName": "color-name",
14 + "rawSpec": "1.1.3",
15 + "saveSpec": null,
16 + "fetchSpec": "1.1.3"
17 + },
18 + "_requiredBy": [
19 + "/@babel/highlight/color-convert"
20 + ],
21 + "_resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
22 + "_shasum": "a7d0558bd89c42f795dd42328f740831ca53bc25",
23 + "_spec": "color-name@1.1.3",
24 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\@babel\\highlight\\node_modules\\color-convert",
25 + "author": {
26 + "name": "DY",
27 + "email": "dfcreative@gmail.com"
28 + },
29 + "bugs": {
30 + "url": "https://github.com/dfcreative/color-name/issues"
31 + },
32 + "bundleDependencies": false,
33 + "deprecated": false,
34 + "description": "A list of color names and its values",
35 + "homepage": "https://github.com/dfcreative/color-name",
36 + "keywords": [
37 + "color-name",
38 + "color",
39 + "color-keyword",
40 + "keyword"
41 + ],
42 + "license": "MIT",
43 + "main": "index.js",
44 + "name": "color-name",
45 + "repository": {
46 + "type": "git",
47 + "url": "git+ssh://git@github.com/dfcreative/color-name.git"
48 + },
49 + "scripts": {
50 + "test": "node test.js"
51 + },
52 + "version": "1.1.3"
53 +}
1 +'use strict'
2 +
3 +var names = require('./');
4 +var assert = require('assert');
5 +
6 +assert.deepEqual(names.red, [255,0,0]);
7 +assert.deepEqual(names.aliceblue, [240,248,255]);
1 +'use strict';
2 +module.exports = (flag, argv) => {
3 + argv = argv || process.argv;
4 + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
5 + const pos = argv.indexOf(prefix + flag);
6 + const terminatorPos = argv.indexOf('--');
7 + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
8 +};
1 +MIT License
2 +
3 +Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 +
7 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 +
9 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1 +{
2 + "_from": "has-flag@^3.0.0",
3 + "_id": "has-flag@3.0.0",
4 + "_inBundle": false,
5 + "_integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
6 + "_location": "/@babel/highlight/has-flag",
7 + "_phantomChildren": {},
8 + "_requested": {
9 + "type": "range",
10 + "registry": true,
11 + "raw": "has-flag@^3.0.0",
12 + "name": "has-flag",
13 + "escapedName": "has-flag",
14 + "rawSpec": "^3.0.0",
15 + "saveSpec": null,
16 + "fetchSpec": "^3.0.0"
17 + },
18 + "_requiredBy": [
19 + "/@babel/highlight/supports-color"
20 + ],
21 + "_resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
22 + "_shasum": "b5d454dc2199ae225699f3467e5a07f3b955bafd",
23 + "_spec": "has-flag@^3.0.0",
24 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\@babel\\highlight\\node_modules\\supports-color",
25 + "author": {
26 + "name": "Sindre Sorhus",
27 + "email": "sindresorhus@gmail.com",
28 + "url": "sindresorhus.com"
29 + },
30 + "bugs": {
31 + "url": "https://github.com/sindresorhus/has-flag/issues"
32 + },
33 + "bundleDependencies": false,
34 + "deprecated": false,
35 + "description": "Check if argv has a specific flag",
36 + "devDependencies": {
37 + "ava": "*",
38 + "xo": "*"
39 + },
40 + "engines": {
41 + "node": ">=4"
42 + },
43 + "files": [
44 + "index.js"
45 + ],
46 + "homepage": "https://github.com/sindresorhus/has-flag#readme",
47 + "keywords": [
48 + "has",
49 + "check",
50 + "detect",
51 + "contains",
52 + "find",
53 + "flag",
54 + "cli",
55 + "command-line",
56 + "argv",
57 + "process",
58 + "arg",
59 + "args",
60 + "argument",
61 + "arguments",
62 + "getopt",
63 + "minimist",
64 + "optimist"
65 + ],
66 + "license": "MIT",
67 + "name": "has-flag",
68 + "repository": {
69 + "type": "git",
70 + "url": "git+https://github.com/sindresorhus/has-flag.git"
71 + },
72 + "scripts": {
73 + "test": "xo && ava"
74 + },
75 + "version": "3.0.0"
76 +}
1 +# has-flag [![Build Status](https://travis-ci.org/sindresorhus/has-flag.svg?branch=master)](https://travis-ci.org/sindresorhus/has-flag)
2 +
3 +> Check if [`argv`](https://nodejs.org/docs/latest/api/process.html#process_process_argv) has a specific flag
4 +
5 +Correctly stops looking after an `--` argument terminator.
6 +
7 +
8 +## Install
9 +
10 +```
11 +$ npm install has-flag
12 +```
13 +
14 +
15 +## Usage
16 +
17 +```js
18 +// foo.js
19 +const hasFlag = require('has-flag');
20 +
21 +hasFlag('unicorn');
22 +//=> true
23 +
24 +hasFlag('--unicorn');
25 +//=> true
26 +
27 +hasFlag('f');
28 +//=> true
29 +
30 +hasFlag('-f');
31 +//=> true
32 +
33 +hasFlag('foo=bar');
34 +//=> true
35 +
36 +hasFlag('foo');
37 +//=> false
38 +
39 +hasFlag('rainbow');
40 +//=> false
41 +```
42 +
43 +```
44 +$ node foo.js -f --unicorn --foo=bar -- --rainbow
45 +```
46 +
47 +
48 +## API
49 +
50 +### hasFlag(flag, [argv])
51 +
52 +Returns a boolean for whether the flag exists.
53 +
54 +#### flag
55 +
56 +Type: `string`
57 +
58 +CLI flag to look for. The `--` prefix is optional.
59 +
60 +#### argv
61 +
62 +Type: `string[]`<br>
63 +Default: `process.argv`
64 +
65 +CLI arguments.
66 +
67 +
68 +## License
69 +
70 +MIT © [Sindre Sorhus](https://sindresorhus.com)
1 +'use strict';
2 +module.exports = {
3 + stdout: false,
4 + stderr: false
5 +};
1 +'use strict';
2 +const os = require('os');
3 +const hasFlag = require('has-flag');
4 +
5 +const env = process.env;
6 +
7 +let forceColor;
8 +if (hasFlag('no-color') ||
9 + hasFlag('no-colors') ||
10 + hasFlag('color=false')) {
11 + forceColor = false;
12 +} else if (hasFlag('color') ||
13 + hasFlag('colors') ||
14 + hasFlag('color=true') ||
15 + hasFlag('color=always')) {
16 + forceColor = true;
17 +}
18 +if ('FORCE_COLOR' in env) {
19 + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
20 +}
21 +
22 +function translateLevel(level) {
23 + if (level === 0) {
24 + return false;
25 + }
26 +
27 + return {
28 + level,
29 + hasBasic: true,
30 + has256: level >= 2,
31 + has16m: level >= 3
32 + };
33 +}
34 +
35 +function supportsColor(stream) {
36 + if (forceColor === false) {
37 + return 0;
38 + }
39 +
40 + if (hasFlag('color=16m') ||
41 + hasFlag('color=full') ||
42 + hasFlag('color=truecolor')) {
43 + return 3;
44 + }
45 +
46 + if (hasFlag('color=256')) {
47 + return 2;
48 + }
49 +
50 + if (stream && !stream.isTTY && forceColor !== true) {
51 + return 0;
52 + }
53 +
54 + const min = forceColor ? 1 : 0;
55 +
56 + if (process.platform === 'win32') {
57 + // Node.js 7.5.0 is the first version of Node.js to include a patch to
58 + // libuv that enables 256 color output on Windows. Anything earlier and it
59 + // won't work. However, here we target Node.js 8 at minimum as it is an LTS
60 + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows
61 + // release that supports 256 colors. Windows 10 build 14931 is the first release
62 + // that supports 16m/TrueColor.
63 + const osRelease = os.release().split('.');
64 + if (
65 + Number(process.versions.node.split('.')[0]) >= 8 &&
66 + Number(osRelease[0]) >= 10 &&
67 + Number(osRelease[2]) >= 10586
68 + ) {
69 + return Number(osRelease[2]) >= 14931 ? 3 : 2;
70 + }
71 +
72 + return 1;
73 + }
74 +
75 + if ('CI' in env) {
76 + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
77 + return 1;
78 + }
79 +
80 + return min;
81 + }
82 +
83 + if ('TEAMCITY_VERSION' in env) {
84 + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
85 + }
86 +
87 + if (env.COLORTERM === 'truecolor') {
88 + return 3;
89 + }
90 +
91 + if ('TERM_PROGRAM' in env) {
92 + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
93 +
94 + switch (env.TERM_PROGRAM) {
95 + case 'iTerm.app':
96 + return version >= 3 ? 3 : 2;
97 + case 'Apple_Terminal':
98 + return 2;
99 + // No default
100 + }
101 + }
102 +
103 + if (/-256(color)?$/i.test(env.TERM)) {
104 + return 2;
105 + }
106 +
107 + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
108 + return 1;
109 + }
110 +
111 + if ('COLORTERM' in env) {
112 + return 1;
113 + }
114 +
115 + if (env.TERM === 'dumb') {
116 + return min;
117 + }
118 +
119 + return min;
120 +}
121 +
122 +function getSupportLevel(stream) {
123 + const level = supportsColor(stream);
124 + return translateLevel(level);
125 +}
126 +
127 +module.exports = {
128 + supportsColor: getSupportLevel,
129 + stdout: getSupportLevel(process.stdout),
130 + stderr: getSupportLevel(process.stderr)
131 +};
1 +MIT License
2 +
3 +Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 +
7 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 +
9 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1 +{
2 + "_from": "supports-color@^5.3.0",
3 + "_id": "supports-color@5.5.0",
4 + "_inBundle": false,
5 + "_integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
6 + "_location": "/@babel/highlight/supports-color",
7 + "_phantomChildren": {},
8 + "_requested": {
9 + "type": "range",
10 + "registry": true,
11 + "raw": "supports-color@^5.3.0",
12 + "name": "supports-color",
13 + "escapedName": "supports-color",
14 + "rawSpec": "^5.3.0",
15 + "saveSpec": null,
16 + "fetchSpec": "^5.3.0"
17 + },
18 + "_requiredBy": [
19 + "/@babel/highlight/chalk"
20 + ],
21 + "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
22 + "_shasum": "e2e69a44ac8772f78a1ec0b35b689df6530efc8f",
23 + "_spec": "supports-color@^5.3.0",
24 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\@babel\\highlight\\node_modules\\chalk",
25 + "author": {
26 + "name": "Sindre Sorhus",
27 + "email": "sindresorhus@gmail.com",
28 + "url": "sindresorhus.com"
29 + },
30 + "browser": "browser.js",
31 + "bugs": {
32 + "url": "https://github.com/chalk/supports-color/issues"
33 + },
34 + "bundleDependencies": false,
35 + "dependencies": {
36 + "has-flag": "^3.0.0"
37 + },
38 + "deprecated": false,
39 + "description": "Detect whether a terminal supports color",
40 + "devDependencies": {
41 + "ava": "^0.25.0",
42 + "import-fresh": "^2.0.0",
43 + "xo": "^0.20.0"
44 + },
45 + "engines": {
46 + "node": ">=4"
47 + },
48 + "files": [
49 + "index.js",
50 + "browser.js"
51 + ],
52 + "homepage": "https://github.com/chalk/supports-color#readme",
53 + "keywords": [
54 + "color",
55 + "colour",
56 + "colors",
57 + "terminal",
58 + "console",
59 + "cli",
60 + "ansi",
61 + "styles",
62 + "tty",
63 + "rgb",
64 + "256",
65 + "shell",
66 + "xterm",
67 + "command-line",
68 + "support",
69 + "supports",
70 + "capability",
71 + "detect",
72 + "truecolor",
73 + "16m"
74 + ],
75 + "license": "MIT",
76 + "name": "supports-color",
77 + "repository": {
78 + "type": "git",
79 + "url": "git+https://github.com/chalk/supports-color.git"
80 + },
81 + "scripts": {
82 + "test": "xo && ava"
83 + },
84 + "version": "5.5.0"
85 +}
1 +# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color)
2 +
3 +> Detect whether a terminal supports color
4 +
5 +
6 +## Install
7 +
8 +```
9 +$ npm install supports-color
10 +```
11 +
12 +
13 +## Usage
14 +
15 +```js
16 +const supportsColor = require('supports-color');
17 +
18 +if (supportsColor.stdout) {
19 + console.log('Terminal stdout supports color');
20 +}
21 +
22 +if (supportsColor.stdout.has256) {
23 + console.log('Terminal stdout supports 256 colors');
24 +}
25 +
26 +if (supportsColor.stderr.has16m) {
27 + console.log('Terminal stderr supports 16 million colors (truecolor)');
28 +}
29 +```
30 +
31 +
32 +## API
33 +
34 +Returns an `Object` with a `stdout` and `stderr` property for testing either streams. Each property is an `Object`, or `false` if color is not supported.
35 +
36 +The `stdout`/`stderr` objects specifies a level of support for color through a `.level` property and a corresponding flag:
37 +
38 +- `.level = 1` and `.hasBasic = true`: Basic color support (16 colors)
39 +- `.level = 2` and `.has256 = true`: 256 color support
40 +- `.level = 3` and `.has16m = true`: Truecolor support (16 million colors)
41 +
42 +
43 +## Info
44 +
45 +It obeys the `--color` and `--no-color` CLI flags.
46 +
47 +Can be overridden by the user with the flags `--color` and `--no-color`. For situations where using `--color` is not possible, add the environment variable `FORCE_COLOR=1` to forcefully enable color or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks.
48 +
49 +Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color=16m` flags, respectively.
50 +
51 +
52 +## Related
53 +
54 +- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module
55 +- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
56 +
57 +
58 +## Maintainers
59 +
60 +- [Sindre Sorhus](https://github.com/sindresorhus)
61 +- [Josh Junon](https://github.com/qix-)
62 +
63 +
64 +## License
65 +
66 +MIT
1 +{
2 + "_from": "@babel/highlight@^7.16.7",
3 + "_id": "@babel/highlight@7.17.9",
4 + "_inBundle": false,
5 + "_integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
6 + "_location": "/@babel/highlight",
7 + "_phantomChildren": {
8 + "escape-string-regexp": "1.0.5"
9 + },
10 + "_requested": {
11 + "type": "range",
12 + "registry": true,
13 + "raw": "@babel/highlight@^7.16.7",
14 + "name": "@babel/highlight",
15 + "escapedName": "@babel%2fhighlight",
16 + "scope": "@babel",
17 + "rawSpec": "^7.16.7",
18 + "saveSpec": null,
19 + "fetchSpec": "^7.16.7"
20 + },
21 + "_requiredBy": [
22 + "/@babel/code-frame"
23 + ],
24 + "_resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
25 + "_shasum": "61b2ee7f32ea0454612def4fccdae0de232b73e3",
26 + "_spec": "@babel/highlight@^7.16.7",
27 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\@babel\\code-frame",
28 + "author": {
29 + "name": "The Babel Team",
30 + "url": "https://babel.dev/team"
31 + },
32 + "bugs": {
33 + "url": "https://github.com/babel/babel/issues"
34 + },
35 + "bundleDependencies": false,
36 + "dependencies": {
37 + "@babel/helper-validator-identifier": "^7.16.7",
38 + "chalk": "^2.0.0",
39 + "js-tokens": "^4.0.0"
40 + },
41 + "deprecated": false,
42 + "description": "Syntax highlight JavaScript strings for output in terminals.",
43 + "devDependencies": {
44 + "@types/chalk": "^2.0.0",
45 + "strip-ansi": "^4.0.0"
46 + },
47 + "engines": {
48 + "node": ">=6.9.0"
49 + },
50 + "homepage": "https://babel.dev/docs/en/next/babel-highlight",
51 + "license": "MIT",
52 + "main": "./lib/index.js",
53 + "name": "@babel/highlight",
54 + "publishConfig": {
55 + "access": "public"
56 + },
57 + "repository": {
58 + "type": "git",
59 + "url": "git+https://github.com/babel/babel.git",
60 + "directory": "packages/babel-highlight"
61 + },
62 + "version": "7.17.9"
63 +}
1 +The MIT License (MIT)
2 +
3 +Copyright © 2020-2022 Michael Garvin
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 +
7 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 +
9 +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10 +
1 +# @gar/promisify
2 +
3 +### Promisify an entire object or class instance
4 +
5 +This module leverages es6 Proxy and Reflect to promisify every function in an
6 +object or class instance.
7 +
8 +It assumes the callback that the function is expecting is the last
9 +parameter, and that it is an error-first callback with only one value,
10 +i.e. `(err, value) => ...`. This mirrors node's `util.promisify` method.
11 +
12 +In order that you can use it as a one-stop-shop for all your promisify
13 +needs, you can also pass it a function. That function will be
14 +promisified as normal using node's built-in `util.promisify` method.
15 +
16 +[node's custom promisified
17 +functions](https://nodejs.org/api/util.html#util_custom_promisified_functions)
18 +will also be mirrored, further allowing this to be a drop-in replacement
19 +for the built-in `util.promisify`.
20 +
21 +### Examples
22 +
23 +Promisify an entire object
24 +
25 +```javascript
26 +
27 +const promisify = require('@gar/promisify')
28 +
29 +class Foo {
30 + constructor (attr) {
31 + this.attr = attr
32 + }
33 +
34 + double (input, cb) {
35 + cb(null, input * 2)
36 + }
37 +
38 +const foo = new Foo('baz')
39 +const promisified = promisify(foo)
40 +
41 +console.log(promisified.attr)
42 +console.log(await promisified.double(1024))
43 +```
44 +
45 +Promisify a function
46 +
47 +```javascript
48 +
49 +const promisify = require('@gar/promisify')
50 +
51 +function foo (a, cb) {
52 + if (a !== 'bad') {
53 + return cb(null, 'ok')
54 + }
55 + return cb('not ok')
56 +}
57 +
58 +const promisified = promisify(foo)
59 +
60 +// This will resolve to 'ok'
61 +promisified('good')
62 +
63 +// this will reject
64 +promisified('bad')
65 +```
1 +'use strict'
2 +
3 +const { promisify } = require('util')
4 +
5 +const handler = {
6 + get: function (target, prop, receiver) {
7 + if (typeof target[prop] !== 'function') {
8 + return target[prop]
9 + }
10 + if (target[prop][promisify.custom]) {
11 + return function () {
12 + return Reflect.get(target, prop, receiver)[promisify.custom].apply(target, arguments)
13 + }
14 + }
15 + return function () {
16 + return new Promise((resolve, reject) => {
17 + Reflect.get(target, prop, receiver).apply(target, [...arguments, function (err, result) {
18 + if (err) {
19 + return reject(err)
20 + }
21 + resolve(result)
22 + }])
23 + })
24 + }
25 + }
26 +}
27 +
28 +module.exports = function (thingToPromisify) {
29 + if (typeof thingToPromisify === 'function') {
30 + return promisify(thingToPromisify)
31 + }
32 + if (typeof thingToPromisify === 'object') {
33 + return new Proxy(thingToPromisify, handler)
34 + }
35 + throw new TypeError('Can only promisify functions or objects')
36 +}
1 +{
2 + "_from": "@gar/promisify@^1.0.1",
3 + "_id": "@gar/promisify@1.1.3",
4 + "_inBundle": false,
5 + "_integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
6 + "_location": "/@gar/promisify",
7 + "_phantomChildren": {},
8 + "_requested": {
9 + "type": "range",
10 + "registry": true,
11 + "raw": "@gar/promisify@^1.0.1",
12 + "name": "@gar/promisify",
13 + "escapedName": "@gar%2fpromisify",
14 + "scope": "@gar",
15 + "rawSpec": "^1.0.1",
16 + "saveSpec": null,
17 + "fetchSpec": "^1.0.1"
18 + },
19 + "_requiredBy": [
20 + "/@npmcli/fs"
21 + ],
22 + "_resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
23 + "_shasum": "555193ab2e3bb3b6adc3d551c9c030d9e860daf6",
24 + "_spec": "@gar/promisify@^1.0.1",
25 + "_where": "C:\\Users\\tahm_\\OneDrive\\바탕 화면\\2022-1\\오픈소스\\프로젝트\\khuhub\\OSSW_Weather_Briefing2\\node_modules\\@npmcli\\fs",
26 + "author": {
27 + "name": "Gar",
28 + "email": "gar+npm@danger.computer"
29 + },
30 + "bugs": {
31 + "url": "https://github.com/wraithgar/gar-promisify/issues"
32 + },
33 + "bundleDependencies": false,
34 + "deprecated": false,
35 + "description": "Promisify an entire class or object",
36 + "devDependencies": {
37 + "@hapi/code": "^8.0.1",
38 + "@hapi/lab": "^24.1.0",
39 + "standard": "^16.0.3"
40 + },
41 + "files": [
42 + "index.js"
43 + ],
44 + "homepage": "https://github.com/wraithgar/gar-promisify#readme",
45 + "keywords": [
46 + "promisify",
47 + "all",
48 + "class",
49 + "object"
50 + ],
51 + "license": "MIT",
52 + "main": "index.js",
53 + "name": "@gar/promisify",
54 + "repository": {
55 + "type": "git",
56 + "url": "git+https://github.com/wraithgar/gar-promisify.git"
57 + },
58 + "scripts": {
59 + "lint": "standard",
60 + "lint:fix": "standard --fix",
61 + "posttest": "npm run lint",
62 + "test": "lab -a @hapi/code -t 100"
63 + },
64 + "version": "1.1.3"
65 +}
1 +<!-- This file is automatically added by @npmcli/template-oss. Do not edit. -->
2 +
3 +ISC License
4 +
5 +Copyright npm, Inc.
6 +
7 +Permission to use, copy, modify, and/or distribute this
8 +software for any purpose with or without fee is hereby
9 +granted, provided that the above copyright notice and this
10 +permission notice appear in all copies.
11 +
12 +THE SOFTWARE IS PROVIDED "AS IS" AND NPM DISCLAIMS ALL
13 +WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
14 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
15 +EVENT SHALL NPM BE LIABLE FOR ANY SPECIAL, DIRECT,
16 +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
17 +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
18 +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
20 +USE OR PERFORMANCE OF THIS SOFTWARE.
1 +# @npmcli/fs
2 +
3 +polyfills, and extensions, of the core `fs` module.
4 +
5 +## Features
6 +
7 +- all exposed functions return promises
8 +- `fs.rm` polyfill for node versions < 14.14.0
9 +- `fs.mkdir` polyfill adding support for the `recursive` and `force` options in node versions < 10.12.0
10 +- `fs.copyFile` extended to accept an `owner` option
11 +- `fs.mkdir` extended to accept an `owner` option
12 +- `fs.mkdtemp` extended to accept an `owner` option
13 +- `fs.writeFile` extended to accept an `owner` option
14 +- `fs.withTempDir` added
15 +- `fs.cp` polyfill for node < 16.7.0
16 +
17 +## The `owner` option
18 +
19 +The `copyFile`, `mkdir`, `mkdtemp`, `writeFile`, and `withTempDir` functions
20 +all accept a new `owner` property in their options. It can be used in two ways:
21 +
22 +- `{ owner: { uid: 100, gid: 100 } }` - set the `uid` and `gid` explicitly
23 +- `{ owner: 100 }` - use one value, will set both `uid` and `gid` the same
24 +
25 +The special string `'inherit'` may be passed instead of a number, which will
26 +cause this module to automatically determine the correct `uid` and/or `gid`
27 +from the nearest existing parent directory of the target.
28 +
29 +## `fs.withTempDir(root, fn, options) -> Promise`
30 +
31 +### Parameters
32 +
33 +- `root`: the directory in which to create the temporary directory
34 +- `fn`: a function that will be called with the path to the temporary directory
35 +- `options`
36 + - `tmpPrefix`: a prefix to be used in the generated directory name
37 +
38 +### Usage
39 +
40 +The `withTempDir` function creates a temporary directory, runs the provided
41 +function (`fn`), then removes the temporary directory and resolves or rejects
42 +based on the result of `fn`.
43 +
44 +```js
45 +const fs = require('@npmcli/fs')
46 +const os = require('os')
47 +
48 +// this function will be called with the full path to the temporary directory
49 +// it is called with `await` behind the scenes, so can be async if desired.
50 +const myFunction = async (tempPath) => {
51 + return 'done!'
52 +}
53 +
54 +const main = async () => {
55 + const result = await fs.withTempDir(os.tmpdir(), myFunction)
56 + // result === 'done!'
57 +}
58 +
59 +main()
60 +```
1 +const url = require('url')
2 +
3 +const node = require('../node.js')
4 +const polyfill = require('./polyfill.js')
5 +
6 +const useNative = node.satisfies('>=10.12.0')
7 +
8 +const fileURLToPath = (path) => {
9 + // the polyfill is tested separately from this module, no need to hack
10 + // process.version to try to trigger it just for coverage
11 + // istanbul ignore next
12 + return useNative
13 + ? url.fileURLToPath(path)
14 + : polyfill(path)
15 +}
16 +
17 +module.exports = fileURLToPath
1 +const { URL, domainToUnicode } = require('url')
2 +
3 +const CHAR_LOWERCASE_A = 97
4 +const CHAR_LOWERCASE_Z = 122
5 +
6 +const isWindows = process.platform === 'win32'
7 +
8 +class ERR_INVALID_FILE_URL_HOST extends TypeError {
9 + constructor (platform) {
10 + super(`File URL host must be "localhost" or empty on ${platform}`)
11 + this.code = 'ERR_INVALID_FILE_URL_HOST'
12 + }
13 +
14 + toString () {
15 + return `${this.name} [${this.code}]: ${this.message}`
16 + }
17 +}
18 +
19 +class ERR_INVALID_FILE_URL_PATH extends TypeError {
20 + constructor (msg) {
21 + super(`File URL path ${msg}`)
22 + this.code = 'ERR_INVALID_FILE_URL_PATH'
23 + }
24 +
25 + toString () {
26 + return `${this.name} [${this.code}]: ${this.message}`
27 + }
28 +}
29 +
30 +class ERR_INVALID_ARG_TYPE extends TypeError {
31 + constructor (name, actual) {
32 + super(`The "${name}" argument must be one of type string or an instance ` +
33 + `of URL. Received type ${typeof actual} ${actual}`)
34 + this.code = 'ERR_INVALID_ARG_TYPE'
35 + }
36 +
37 + toString () {
38 + return `${this.name} [${this.code}]: ${this.message}`
39 + }
40 +}
41 +
42 +class ERR_INVALID_URL_SCHEME extends TypeError {
43 + constructor (expected) {
44 + super(`The URL must be of scheme ${expected}`)
45 + this.code = 'ERR_INVALID_URL_SCHEME'
46 + }
47 +
48 + toString () {
49 + return `${this.name} [${this.code}]: ${this.message}`
50 + }
51 +}
52 +
53 +const isURLInstance = (input) => {
54 + return input != null && input.href && input.origin
55 +}
56 +
57 +const getPathFromURLWin32 = (url) => {
58 + const hostname = url.hostname
59 + let pathname = url.pathname
60 + for (let n = 0; n < pathname.length; n++) {
61 + if (pathname[n] === '%') {
62 + const third = pathname.codePointAt(n + 2) | 0x20
63 + if ((pathname[n + 1] === '2' && third === 102) ||
64 + (pathname[n + 1] === '5' && third === 99)) {
65 + throw new ERR_INVALID_FILE_URL_PATH('must not include encoded \\ or / characters')
66 + }
67 + }
68 + }
69 +
70 + pathname = pathname.replace(/\//g, '\\')
71 + pathname = decodeURIComponent(pathname)
72 + if (hostname !== '') {
73 + return `\\\\${domainToUnicode(hostname)}${pathname}`
74 + }
75 +
76 + const letter = pathname.codePointAt(1) | 0x20
77 + const sep = pathname[2]
78 + if (letter < CHAR_LOWERCASE_A || letter > CHAR_LOWERCASE_Z ||
79 + (sep !== ':')) {
80 + throw new ERR_INVALID_FILE_URL_PATH('must be absolute')
81 + }
82 +
83 + return pathname.slice(1)
84 +}
85 +
86 +const getPathFromURLPosix = (url) => {
87 + if (url.hostname !== '') {
88 + throw new ERR_INVALID_FILE_URL_HOST(process.platform)
89 + }
90 +
91 + const pathname = url.pathname
92 +
93 + for (let n = 0; n < pathname.length; n++) {
94 + if (pathname[n] === '%') {
95 + const third = pathname.codePointAt(n + 2) | 0x20
96 + if (pathname[n + 1] === '2' && third === 102) {
97 + throw new ERR_INVALID_FILE_URL_PATH('must not include encoded / characters')
98 + }
99 + }
100 + }
101 +
102 + return decodeURIComponent(pathname)
103 +}
104 +
105 +const fileURLToPath = (path) => {
106 + if (typeof path === 'string') {
107 + path = new URL(path)
108 + } else if (!isURLInstance(path)) {
109 + throw new ERR_INVALID_ARG_TYPE('path', ['string', 'URL'], path)
110 + }
111 +
112 + if (path.protocol !== 'file:') {
113 + throw new ERR_INVALID_URL_SCHEME('file')
114 + }
115 +
116 + return isWindows
117 + ? getPathFromURLWin32(path)
118 + : getPathFromURLPosix(path)
119 +}
120 +
121 +module.exports = fileURLToPath
1 +// given an input that may or may not be an object, return an object that has
2 +// a copy of every defined property listed in 'copy'. if the input is not an
3 +// object, assign it to the property named by 'wrap'
4 +const getOptions = (input, { copy, wrap }) => {
5 + const result = {}
6 +
7 + if (input && typeof input === 'object') {
8 + for (const prop of copy) {
9 + if (input[prop] !== undefined) {
10 + result[prop] = input[prop]
11 + }
12 + }
13 + } else {
14 + result[wrap] = input
15 + }
16 +
17 + return result
18 +}
19 +
20 +module.exports = getOptions
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.