npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@wulechuan/get-valid-indentation-string

v2.0.3

Published

此为吴乐川的《获取计算机源代码单级缩进空白的工具》。本工具可按需产生一个字符串,该字符串用作计算机源代码之单级缩进之空白。该字符串要么全是“空格”(`' '`),要么全是“制表符”(`' '`),但二者不可混用。并且,多于一个制表符是允许的,但本程序会给出警告信息。因为,一般的,我们仅需采用单一制表符。

Downloads

22

Readme

获取有效的代码缩进字符串

中国人——特别是汉族人,理应坚持广泛、规范地使用汉语。凡非必要之情形不说外国话、不用外国字。此乃天经地义!然则每当必要,亦不排斥采用外国之语言。不妨 博世界之学问,养中国之精神

本人亦支持少数民族坚持采用自己民族的传统语言。仍须强调,凡中国人,皆应会用汉语、积极使用汉语,此乃中华各民族之大一统之必由。

Multilingual Editions of this Article

NPM 页

@wulechuan/get-valid-indentation-string

源代码仓库

| 提供仓库服务之组织 | 仓库组织之国别 | 仓库地址 | | ------------- | :----------: | ------- | | 码云 | 中华人民共和国 | https://gitee.com/nanchang-wulechuan/wulechuan-js-get-valid-indentation-string.git | | 阿里云之代码仓库 | 中华人民共和国 | https://code.aliyun.com/wulechuan/wulechuan-js-get-valid-indentation-string.git | | GitHub | 美 | https://github.com/wulechuan/wulechuan-js-get-valid-indentation-string.git |

版本断代提醒

  • 本工具自 v2.0.0 版始,源带码文件夹测试集文件夹源代码接口控制台消息文本 均已汉化。虽然旧的英语版接口得以保留,单从编程角度而言,版本并不“断代”,但因文件夹和消息文本仅采用汉语,故对于不识汉语之开发者而言,形同“版本断代”。

简介

功用

本工具可按需产生一个字符串,该字符串用作计算机源代码之单级缩进之空白。该字符串要么全是“空格”(' '),要么全是“制表符”('\t'),但二者不可混用。并且,多于一个制表符是允许的,但本程序会给出警告信息。因为,一般的,我们仅需采用单一制表符。

注意,本程序故意未提供所谓“默认值”。因此,本程序既不迎合喜欢采用“制表符”的程序员们,也不迎合喜欢采用“两个空格”的程序员们,也不迎合我本人喜欢的“四个空格”的风格。调用本程序时,如果对外界提供的“期望值”不信任,则必须明确给出一个所谓“后备值”,或者说“默认值”。

用法

安装

npm  i  @wulechuan/get-valid-indentation-string

具体示例

本工具仅提供唯一的函数作为所谓“主程序”,但故意给出汉语、英语两种名称。二者互为别名,效用完全对等。

其汉语名称为 求可靠的用于计算机源代码缩进的空白文本。该函数接受三个参数,详见下文《应用编程接口(所谓 API)》。

本项目代码库中自带的 ./测试集/index.js 是较充分的示范代码。摘抄如下(有所精简)。

const { 求可靠的用于计算机源代码缩进的空白文本 } = require('@wulechuan/get-valid-indentation-string')

试一把()      // 会抛出错误,因为“期望值”、“备用值”均不合格。
试一把(3)     // 采纳三个空格,即'   '。
试一把('3')   // 采纳三个空格,即'   '。
试一把(' 8 ') // 采纳八个空格,即'        '。



// 采纳两个空格,即'  '。在“繁冗汇报模式”还会在控制台打印“期望值”无效的细节说明。
试一把(-1,    '  ')



// 会抛出错误,因为“期望值”、“备用值”均不合格。
试一把('-2',  ' \n ')



// 采纳一个制表符,即'\t'。
试一把('\t',  '    ')



// 采纳四个空格,即'    '。因为空格与制表符混用是不允许的。并且,在“繁冗汇报模式”还会在控制台打印“期望值”无效的细节说明。
试一把(' \t', '    ')



// 采纳两个空格,即'  '。
试一把('',    '  ')



// 会抛出错误,因为“期望值(六十七个空格)”太长了,超出限度,同时“备用值”又未给出。
试一把(' '.repeat(67))



// 会抛出错误,因为不允许采用布尔值,同时“备用值”又未给出。
试一把(true)



// 下方代码的期望值是有效的,会被采纳,即采纳两个制表符('\t\t')。
// 但在被采纳的同时,控制台还会给出一则警告信息,提及制表符多于一个。
// 诸君不妨思考一下,果真有必要采用超过一个制表符来当做“单级别”缩进吗?
试一把('\t\t')



// 会抛出错误,因为不允许空格与制表符混用,同时“备用值”又未给出。
试一把(' \t')



function 试一把 (期望采用的缩进空白之配置, 保险的备用配置) {
    try {

        // 请留意下方的函数调用语句。
        求可靠的用于计算机源代码缩进的空白文本(
            期望采用的缩进空白之配置,
            保险的备用配置,
            true
        )

    } catch(错误之记载) {
        console.log(错误之记载.message)
    }
}

应用编程接口(所谓 API)

主函数

本工具仅提供唯一的函数作为对外接口,但故意给出汉语、英语两种名称。二者互为别名,效用完全对等。

主函数之接口全貌(外国话所谓 Signature)
function 求可靠的用于计算机源代码缩进的空白文本 (
    期望采用的缩进空白配置:  any,
    保险的备用缩进空白配置?: string | number,
    应在控制台记录运行细节?: boolean
): string

function getValidIndentationString (
    providedIndentation: any,
    fallbackValue?:      string | number,
    shouldLogVerbosely?: boolean
): string
主函数之入口参数
期望采用的缩进空白配置providedIndentation

该值不能省略。可以取任何值,但仅当值有效时会被采纳,无效值不被采纳。当该值无效时,主函数转而尝试采用 保险的备用缩进空白配置fallbackValue) 的值。

所谓“有效”的值,参见下文《主函数中的两个主要参数取怎样的值算是有效值?》一节。

保险的备用缩进空白配置fallbackValue

该值可以省略。如果 期望采用的缩进空白配置 一值无效,主函数才会考察本值(即指 保险的备用缩进空白配置)。虽然本值可传入任何值,但仅当值有效时会被采纳。如果本值被判无效,则主函数抛出错误。

所谓“有效”的值,参见下文《主函数中的两个主要参数取怎样的值算是有效值?》一节。

应在控制台记录运行细节shouldLogVerbosely

该值可以省略。其取值可以是任意值,但会被视作布尔值。当该值为“真性(truthy)”时:

  • 如果主函数最终采纳了一个有效值,则会在控制台打印出最终采纳的值,供人类审阅。
  • 如果给出的原始值有任何错误,那么,不论本程序最终是否(借助“后备值”)得到一个有效值,均会在控制台打印出与原始值相关的错误信息。

注意

若传入的 期望采用的缩进空白配置保险的备用缩进空白配置 均无效,则本程序抛出错误。

主函数中的两个主要参数取怎样的值算是有效值?

所谓有效的值,应符合以下规则之任一:

  • 四舍五入后大于 0 且小于等于 50 的数字值。视作用于代码缩进一级所采用的空格之个数。

  • 包含上述数字的字符串值,例如 '4'" 8 "。含义同上。

  • 一个包含空格的字符串,其中的空格数量不少于 1 且不多于 50(可以等于 1,可以等于 50)。

  • 一个包含制表符的字符串,其中的制表符数量不少于 1 且不多于 16(可以等于 1,可以等于 16)。但仅推荐采用单一制表符。一般情况我认为根本没必要使用两个或更多制表符。

以下枚举(但不穷举)一些有效值:

  • 4
  • '4'
  • ' 4 '
  • ' '
  • " "
  • ' '
  • '\t'
  • "\t"
  • '\t\t'
主函数之返回值

该函数总是返回一个字符串值。如果输入不合规,该函数并不作返回,而是故意抛出错误。