1.3.0 • Published 1 year ago

scule v1.3.0

Weekly downloads
100,613
License
MIT
Repository
github
Last release
1 year ago

🧵 Scule

npm version npm downloads bundle Codecov

Install

Install using npm or yarn:

npm i scule

Import:

// CommonJS
const { pascalCase } = require("scule");

// ESM
import { pascalCase } from "scule";

Notice: You may need to transpile package for legacy environments.

Utils

pascalCase(str, opts?: { normalize })

Splits string and joins by PascalCase convention:

pascalCase("foo-bar_baz");
// FooBarBaz

Notice: If an uppercase letter is followed by other uppercase letters (like FooBAR), they are preserved. You can use { normalize: true } for strictly following pascalCase convention.

camelCase(str, opts?: { normalize })

Splits string and joins by camelCase convention:

camelCase("foo-bar_baz");
// fooBarBaz

kebabCase(str)

Splits string and joins by kebab-case convention:

kebabCase("fooBar_Baz");
// foo-bar-baz

Notice: It does not preserve case.

snakeCase

Splits string and joins by snake_case convention:

snakeCase("foo-barBaz");
// foo_bar_baz

flatCase

Splits string and joins by flatcase convention:

flatCase("foo-barBaz");
// foobarbaz

trainCase(str, opts?: { normalize })

Split string and joins by Train-Case (a.k.a. HTTP-Header-Case) convention:

trainCase("FooBARb");
// Foo-Ba-Rb

Notice: If an uppercase letter is followed by other uppercase letters (like WWWAuthenticate), they are preserved (=> WWW-Authenticate). You can use { normalize: true } for strictly only having the first letter uppercased.

titleCase(str, opts?: { normalize })

With Title Case all words are capitalized, except for minor words. A compact regex of common minor words (such as a, for, to) is used to automatically keep them lower case.

titleCase("this-IS-aTitle");
// This is a Title

upperFirst(str)

Converts first character to upper case:

upperFirst("hello world!");
// Hello world!

lowerFirst(str)

Converts first character to lower case:

lowerFirst("Hello world!");
// hello world!

splitByCase(str, splitters?)

  • Splits string by the splitters provided (default: ['-', '_', '/', '.'])
  • Splits when case changes from lower to upper or upper to lower
  • Ignores numbers for case changes
  • Case is preserved in returned value
  • Is an irreversible function since splitters are omitted

Development

  • Clone this repository
  • Install latest LTS version of Node.js
  • Enable Corepack using corepack enable
  • Install dependencies using pnpm install
  • Run interactive tests using pnpm dev

License

MIT

@outloud/nuxt@danifoldi/nitropack@farnabaz/c@nyxb/changelog@paescuj/unbuild@everything-registry/sub-chunk-2721nuxt-oidc-ssr-auth@toantranmei/mei-nuxt3-uitailwind-to-dartsvglbwindow-ui-modulevue-bind-oncewxtvite-auto-import-resolversvscode-ext-genvite-plugin-analyticsvite-plugin-slots-layoutsvite-plugin-typed-routervue-extensible-mail@docus/core@docus/core-edge@docus/mdc@docus/mdc-edge@docus/nuxt3-docs@docus/remark-mdc@docus/remark-mdc-edge@docus/theme@docus/theme-edge@cobalt-ui/core@d2js/components@curiousleaf/utils@cotton-yu/auto-api@rotki/eslint-plugin@webstudiou/uijs-utils-prokdimportqjc2-block@ourongxing/nitro@ourongxing/nitropackmockline-edgestellar-uitehmusimhujantreetype-tstogai-ui-widgetsunjs-rekitunkit@antify/database-cli@arrirpc/codegen-utils@arrirpc/schema@arrirpc/server@angsanley/nuxt-ui@atoms-studio/gluon@beesbuild/utils@axxy/nuxt@binhtranhuu/nuxt-ui@bloodf/nuxt-content@breadio/markdown@byloth/vue-content@chup-hq/ui@chakra-ui/cli@aabelmann/ui-layer@datalink/core@destyler/directives@design-sync/utilsundocsundocs-nightlyunimportunimport-lxunbuildundef-tableunplugin-analyticsunplugin-vue-routeruntypedunplugin-icons-helper@dword-design/nuxt@dword-design/nuxt-kit@dtwo/components@dtwo/kit@dtwo/kit-edge@dtwo/schema@dtwo/schema-edge@grixu/list@hebilicious/form-actions-nuxt@hebilicious/nitro@hebilicious/unstable-nitro@hedgehoglab/crayon-cli@harmonix-js/core@hoythan/i18n-issue-3059@hixt/kit@hixt/schema@hempflower/nuxt-open-fetch@huyoukeji/ui-edge@farnabaz/content@farnabaz/content-next@farnabaz/mdc@farnabaz/nuxt-mdc@ginjou/with-directus@lmoesle/nuxt-auth-utils@lordbeanbag/vite-plugin-svg-icons-monorepo@mrrhq/shadcn-pro-edge
1.3.0

1 year ago

1.2.0

1 year ago

1.1.1

1 year ago

1.1.0

2 years ago

1.0.0

3 years ago

0.3.0

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.1

4 years ago