Socket
Socket
Sign inDemoInstall

@effect/data

Package Overview
Dependencies
Maintainers
3
Versions
79
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@effect/data - npm Package Compare versions

Comparing version 0.12.6 to 0.12.7

2

package.json
{
"name": "@effect/data",
"version": "0.12.6",
"version": "0.12.7",
"license": "MIT",

@@ -5,0 +5,0 @@ "repository": {

@@ -11,2 +11,5 @@ /**

import * as readonlyArray from "@effect/data/internal/ReadonlyArray"
import * as number from "@effect/data/Number"
import * as Option from "@effect/data/Option"
import type * as Ordering from "@effect/data/Ordering"
import type { Refinement } from "@effect/data/Predicate"

@@ -306,3 +309,236 @@ import * as predicate from "@effect/data/Predicate"

* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.charCodeAt(1)), Option.some(98))
* assert.deepStrictEqual(pipe("abc", S.charCodeAt(4)), Option.none())
*
* @since 1.0.0
*/
export const charCodeAt = (index: number) =>
(self: string): Option.Option<number> =>
Option.filter(Option.some(self.charCodeAt(index)), (charCode) => !isNaN(charCode))
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abcd", S.substring(1)), "bcd")
* assert.deepStrictEqual(pipe("abcd", S.substring(1, 3)), "bc")
*
* @since 1.0.0
*/
export const substring = (start: number, end?: number) => (self: string): string => self.substring(start, end)
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.at(1)), Option.some("b"))
* assert.deepStrictEqual(pipe("abc", S.at(4)), Option.none())
*
* @since 1.0.0
*/
export const at = (index: number) => (self: string): Option.Option<string> => Option.fromNullable(self.at(index))
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.charAt(1)), Option.some("b"))
* assert.deepStrictEqual(pipe("abc", S.charAt(4)), Option.none())
*
* @since 1.0.0
*/
export const charAt = (index: number) =>
(self: string): Option.Option<string> => Option.filter(Option.some(self.charAt(index)), isNonEmpty)
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.codePointAt(1)), Option.some(98))
*
* @since 1.0.0
*/
export const codePointAt = (index: number) =>
(self: string): Option.Option<number> => Option.fromNullable(self.codePointAt(index))
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abbbc", S.indexOf("b")), Option.some(1))
*
* @since 1.0.0
*/
export const indexOf = (searchString: string) =>
(self: string): Option.Option<number> =>
Option.filter(Option.some(self.indexOf(searchString)), number.greaterThanOrEqualTo(0))
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abbbc", S.lastIndexOf("b")), Option.some(3))
* assert.deepStrictEqual(pipe("abbbc", S.lastIndexOf("d")), Option.none())
*
* @since 1.0.0
*/
export const lastIndexOf = (searchString: string) =>
(self: string): Option.Option<number> =>
Option.filter(Option.some(self.lastIndexOf(searchString)), number.greaterThanOrEqualTo(0))
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.localeCompare("b")), -1)
* assert.deepStrictEqual(pipe("b", S.localeCompare("a")), 1)
* assert.deepStrictEqual(pipe("a", S.localeCompare("a")), 0)
*
* @since 1.0.0
*/
export const localeCompare = (that: string, locales?: Array<string>, options?: Intl.CollatorOptions) =>
(self: string): Ordering.Ordering => number.sign(self.localeCompare(that, locales, options))
/**
* It is the `pipe`-able version of the native `match` method.
*
* @since 1.0.0
*/
export const match = (regexp: RegExp | string) =>
(self: string): Option.Option<RegExpMatchArray> => Option.fromNullable(self.match(regexp))
/**
* It is the `pipe`-able version of the native `matchAll` method.
*
* @since 1.0.0
*/
export const matchAll = (regexp: RegExp) => (self: string): IterableIterator<RegExpMatchArray> => self.matchAll(regexp)
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* const str = "\u1E9B\u0323";
* assert.deepStrictEqual(pipe(str, S.normalize()), "\u1E9B\u0323")
* assert.deepStrictEqual(pipe(str, S.normalize("NFC")), "\u1E9B\u0323")
* assert.deepStrictEqual(pipe(str, S.normalize("NFD")), "\u017F\u0323\u0307")
* assert.deepStrictEqual(pipe(str, S.normalize("NFKC")), "\u1E69")
* assert.deepStrictEqual(pipe(str, S.normalize("NFKD")), "\u0073\u0323\u0307")
*
* @since 1.0.0
*/
export const normalize = (form?: "NFC" | "NFD" | "NFKC" | "NFKD") => (self: string): string => self.normalize(form)
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.padEnd(5)), "a ")
* assert.deepStrictEqual(pipe("a", S.padEnd(5, "_")), "a____")
*
* @since 1.0.0
*/
export const padEnd = (maxLength: number, fillString?: string) =>
(self: string): string => self.padEnd(maxLength, fillString)
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.padStart(5)), " a")
* assert.deepStrictEqual(pipe("a", S.padStart(5, "_")), "____a")
*
* @since 1.0.0
*/
export const padStart = (maxLength: number, fillString?: string) =>
(self: string): string => self.padStart(maxLength, fillString)
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.repeat(5)), "aaaaa")
*
* @since 1.0.0
*/
export const repeat = (count: number) => (self: string): string => self.repeat(count)
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("ababb", S.replaceAll("b", "c")), "acacc")
* assert.deepStrictEqual(pipe("ababb", S.replaceAll(/ba/g, "cc")), "accbb")
*
* @since 1.0.0
*/
export const replaceAll = (searchValue: string | RegExp, replaceValue: string) =>
(self: string): string => self.replaceAll(searchValue, replaceValue)
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("ababb", S.search("b")), Option.some(1))
* assert.deepStrictEqual(pipe("ababb", S.search(/abb/)), Option.some(2))
* assert.deepStrictEqual(pipe("ababb", S.search("d")), Option.none())
*
* @since 1.0.0
*/
export const search = (regexp: RegExp | string) =>
(self: string): Option.Option<number> =>
Option.filter(Option.some(self.search(regexp)), number.greaterThanOrEqualTo(0))
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* const str = "\u0130"
* assert.deepStrictEqual(pipe(str, S.toLocaleLowerCase("tr")), "i")
*
* @since 1.0.0
*/
export const toLocaleLowerCase = (locale?: string | Array<string>) =>
(self: string): string => self.toLocaleLowerCase(locale)
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* const str = "i\u0307"
* assert.deepStrictEqual(pipe(str, S.toLocaleUpperCase("lt-LT")), "I")
*
* @since 1.0.0
*/
export const toLocaleUpperCase = (locale?: string | Array<string>) =>
(self: string): string => self.toLocaleUpperCase(locale)
/**
* @example
* import * as S from '@effect/data/String'
*
* assert.deepStrictEqual(S.endsWithPosition("abc", "b", 2), true)

@@ -309,0 +545,0 @@ * assert.deepStrictEqual(S.endsWithPosition("abc", "c", 2), false)

@@ -8,2 +8,4 @@ /**

*/
import * as Option from "@effect/data/Option";
import type * as Ordering from "@effect/data/Ordering";
import type { Refinement } from "@effect/data/Predicate";

@@ -263,3 +265,201 @@ import type { NonEmptyArray } from "@effect/data/ReadonlyArray";

* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.charCodeAt(1)), Option.some(98))
* assert.deepStrictEqual(pipe("abc", S.charCodeAt(4)), Option.none())
*
* @since 1.0.0
*/
export declare const charCodeAt: (index: number) => (self: string) => Option.Option<number>;
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abcd", S.substring(1)), "bcd")
* assert.deepStrictEqual(pipe("abcd", S.substring(1, 3)), "bc")
*
* @since 1.0.0
*/
export declare const substring: (start: number, end?: number) => (self: string) => string;
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.at(1)), Option.some("b"))
* assert.deepStrictEqual(pipe("abc", S.at(4)), Option.none())
*
* @since 1.0.0
*/
export declare const at: (index: number) => (self: string) => Option.Option<string>;
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.charAt(1)), Option.some("b"))
* assert.deepStrictEqual(pipe("abc", S.charAt(4)), Option.none())
*
* @since 1.0.0
*/
export declare const charAt: (index: number) => (self: string) => Option.Option<string>;
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.codePointAt(1)), Option.some(98))
*
* @since 1.0.0
*/
export declare const codePointAt: (index: number) => (self: string) => Option.Option<number>;
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abbbc", S.indexOf("b")), Option.some(1))
*
* @since 1.0.0
*/
export declare const indexOf: (searchString: string) => (self: string) => Option.Option<number>;
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abbbc", S.lastIndexOf("b")), Option.some(3))
* assert.deepStrictEqual(pipe("abbbc", S.lastIndexOf("d")), Option.none())
*
* @since 1.0.0
*/
export declare const lastIndexOf: (searchString: string) => (self: string) => Option.Option<number>;
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.localeCompare("b")), -1)
* assert.deepStrictEqual(pipe("b", S.localeCompare("a")), 1)
* assert.deepStrictEqual(pipe("a", S.localeCompare("a")), 0)
*
* @since 1.0.0
*/
export declare const localeCompare: (that: string, locales?: Array<string>, options?: Intl.CollatorOptions) => (self: string) => Ordering.Ordering;
/**
* It is the `pipe`-able version of the native `match` method.
*
* @since 1.0.0
*/
export declare const match: (regexp: RegExp | string) => (self: string) => Option.Option<RegExpMatchArray>;
/**
* It is the `pipe`-able version of the native `matchAll` method.
*
* @since 1.0.0
*/
export declare const matchAll: (regexp: RegExp) => (self: string) => IterableIterator<RegExpMatchArray>;
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* const str = "\u1E9B\u0323";
* assert.deepStrictEqual(pipe(str, S.normalize()), "\u1E9B\u0323")
* assert.deepStrictEqual(pipe(str, S.normalize("NFC")), "\u1E9B\u0323")
* assert.deepStrictEqual(pipe(str, S.normalize("NFD")), "\u017F\u0323\u0307")
* assert.deepStrictEqual(pipe(str, S.normalize("NFKC")), "\u1E69")
* assert.deepStrictEqual(pipe(str, S.normalize("NFKD")), "\u0073\u0323\u0307")
*
* @since 1.0.0
*/
export declare const normalize: (form?: "NFC" | "NFD" | "NFKC" | "NFKD") => (self: string) => string;
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.padEnd(5)), "a ")
* assert.deepStrictEqual(pipe("a", S.padEnd(5, "_")), "a____")
*
* @since 1.0.0
*/
export declare const padEnd: (maxLength: number, fillString?: string) => (self: string) => string;
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.padStart(5)), " a")
* assert.deepStrictEqual(pipe("a", S.padStart(5, "_")), "____a")
*
* @since 1.0.0
*/
export declare const padStart: (maxLength: number, fillString?: string) => (self: string) => string;
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.repeat(5)), "aaaaa")
*
* @since 1.0.0
*/
export declare const repeat: (count: number) => (self: string) => string;
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("ababb", S.replaceAll("b", "c")), "acacc")
* assert.deepStrictEqual(pipe("ababb", S.replaceAll(/ba/g, "cc")), "accbb")
*
* @since 1.0.0
*/
export declare const replaceAll: (searchValue: string | RegExp, replaceValue: string) => (self: string) => string;
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("ababb", S.search("b")), Option.some(1))
* assert.deepStrictEqual(pipe("ababb", S.search(/abb/)), Option.some(2))
* assert.deepStrictEqual(pipe("ababb", S.search("d")), Option.none())
*
* @since 1.0.0
*/
export declare const search: (regexp: RegExp | string) => (self: string) => Option.Option<number>;
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* const str = "\u0130"
* assert.deepStrictEqual(pipe(str, S.toLocaleLowerCase("tr")), "i")
*
* @since 1.0.0
*/
export declare const toLocaleLowerCase: (locale?: string | Array<string>) => (self: string) => string;
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* const str = "i\u0307"
* assert.deepStrictEqual(pipe(str, S.toLocaleUpperCase("lt-LT")), "I")
*
* @since 1.0.0
*/
export declare const toLocaleUpperCase: (locale?: string | Array<string>) => (self: string) => string;
/**
* @example
* import * as S from '@effect/data/String'
*
* assert.deepStrictEqual(S.endsWithPosition("abc", "b", 2), true)

@@ -266,0 +466,0 @@ * assert.deepStrictEqual(S.endsWithPosition("abc", "c", 2), false)

@@ -6,5 +6,7 @@ "use strict";

});
exports.trimStart = exports.trimEnd = exports.trim = exports.toUpperCase = exports.toLowerCase = exports.takeRight = exports.takeLeft = exports.stripMarginWith = exports.stripMargin = exports.startsWithPosition = exports.startsWith = exports.split = exports.slice = exports.replace = exports.linesWithSeparators = exports.length = exports.isString = exports.isNonEmpty = exports.isEmpty = exports.includesWithPosition = exports.includes = exports.endsWithPosition = exports.endsWith = exports.empty = exports.concat = exports.Semigroup = exports.Order = exports.Monoid = exports.Equivalence = void 0;
exports.trimStart = exports.trimEnd = exports.trim = exports.toUpperCase = exports.toLowerCase = exports.toLocaleUpperCase = exports.toLocaleLowerCase = exports.takeRight = exports.takeLeft = exports.substring = exports.stripMarginWith = exports.stripMargin = exports.startsWithPosition = exports.startsWith = exports.split = exports.slice = exports.search = exports.replaceAll = exports.replace = exports.repeat = exports.padStart = exports.padEnd = exports.normalize = exports.matchAll = exports.match = exports.localeCompare = exports.linesWithSeparators = exports.length = exports.lastIndexOf = exports.isString = exports.isNonEmpty = exports.isEmpty = exports.indexOf = exports.includesWithPosition = exports.includes = exports.endsWithPosition = exports.endsWith = exports.empty = exports.concat = exports.codePointAt = exports.charCodeAt = exports.charAt = exports.at = exports.Semigroup = exports.Order = exports.Monoid = exports.Equivalence = void 0;
var _Function = /*#__PURE__*/require("@effect/data/Function");
var readonlyArray = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/internal/ReadonlyArray"));
var number = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Number"));
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
var predicate = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Predicate"));

@@ -271,3 +273,219 @@ var equivalence = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/typeclass/Equivalence"));

* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.charCodeAt(1)), Option.some(98))
* assert.deepStrictEqual(pipe("abc", S.charCodeAt(4)), Option.none())
*
* @since 1.0.0
*/
exports.endsWith = endsWith;
const charCodeAt = index => self => Option.filter(Option.some(self.charCodeAt(index)), charCode => !isNaN(charCode));
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abcd", S.substring(1)), "bcd")
* assert.deepStrictEqual(pipe("abcd", S.substring(1, 3)), "bc")
*
* @since 1.0.0
*/
exports.charCodeAt = charCodeAt;
const substring = (start, end) => self => self.substring(start, end);
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.at(1)), Option.some("b"))
* assert.deepStrictEqual(pipe("abc", S.at(4)), Option.none())
*
* @since 1.0.0
*/
exports.substring = substring;
const at = index => self => Option.fromNullable(self.at(index));
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.charAt(1)), Option.some("b"))
* assert.deepStrictEqual(pipe("abc", S.charAt(4)), Option.none())
*
* @since 1.0.0
*/
exports.at = at;
const charAt = index => self => Option.filter(Option.some(self.charAt(index)), isNonEmpty);
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abc", S.codePointAt(1)), Option.some(98))
*
* @since 1.0.0
*/
exports.charAt = charAt;
const codePointAt = index => self => Option.fromNullable(self.codePointAt(index));
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abbbc", S.indexOf("b")), Option.some(1))
*
* @since 1.0.0
*/
exports.codePointAt = codePointAt;
const indexOf = searchString => self => Option.filter(Option.some(self.indexOf(searchString)), number.greaterThanOrEqualTo(0));
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("abbbc", S.lastIndexOf("b")), Option.some(3))
* assert.deepStrictEqual(pipe("abbbc", S.lastIndexOf("d")), Option.none())
*
* @since 1.0.0
*/
exports.indexOf = indexOf;
const lastIndexOf = searchString => self => Option.filter(Option.some(self.lastIndexOf(searchString)), number.greaterThanOrEqualTo(0));
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.localeCompare("b")), -1)
* assert.deepStrictEqual(pipe("b", S.localeCompare("a")), 1)
* assert.deepStrictEqual(pipe("a", S.localeCompare("a")), 0)
*
* @since 1.0.0
*/
exports.lastIndexOf = lastIndexOf;
const localeCompare = (that, locales, options) => self => number.sign(self.localeCompare(that, locales, options));
/**
* It is the `pipe`-able version of the native `match` method.
*
* @since 1.0.0
*/
exports.localeCompare = localeCompare;
const match = regexp => self => Option.fromNullable(self.match(regexp));
/**
* It is the `pipe`-able version of the native `matchAll` method.
*
* @since 1.0.0
*/
exports.match = match;
const matchAll = regexp => self => self.matchAll(regexp);
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* const str = "\u1E9B\u0323";
* assert.deepStrictEqual(pipe(str, S.normalize()), "\u1E9B\u0323")
* assert.deepStrictEqual(pipe(str, S.normalize("NFC")), "\u1E9B\u0323")
* assert.deepStrictEqual(pipe(str, S.normalize("NFD")), "\u017F\u0323\u0307")
* assert.deepStrictEqual(pipe(str, S.normalize("NFKC")), "\u1E69")
* assert.deepStrictEqual(pipe(str, S.normalize("NFKD")), "\u0073\u0323\u0307")
*
* @since 1.0.0
*/
exports.matchAll = matchAll;
const normalize = form => self => self.normalize(form);
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.padEnd(5)), "a ")
* assert.deepStrictEqual(pipe("a", S.padEnd(5, "_")), "a____")
*
* @since 1.0.0
*/
exports.normalize = normalize;
const padEnd = (maxLength, fillString) => self => self.padEnd(maxLength, fillString);
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.padStart(5)), " a")
* assert.deepStrictEqual(pipe("a", S.padStart(5, "_")), "____a")
*
* @since 1.0.0
*/
exports.padEnd = padEnd;
const padStart = (maxLength, fillString) => self => self.padStart(maxLength, fillString);
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("a", S.repeat(5)), "aaaaa")
*
* @since 1.0.0
*/
exports.padStart = padStart;
const repeat = count => self => self.repeat(count);
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("ababb", S.replaceAll("b", "c")), "acacc")
* assert.deepStrictEqual(pipe("ababb", S.replaceAll(/ba/g, "cc")), "accbb")
*
* @since 1.0.0
*/
exports.repeat = repeat;
const replaceAll = (searchValue, replaceValue) => self => self.replaceAll(searchValue, replaceValue);
/**
* @example
* import * as S from '@effect/data/String'
* import * as Option from '@effect/data/Option'
* import { pipe } from '@effect/data/Function'
*
* assert.deepStrictEqual(pipe("ababb", S.search("b")), Option.some(1))
* assert.deepStrictEqual(pipe("ababb", S.search(/abb/)), Option.some(2))
* assert.deepStrictEqual(pipe("ababb", S.search("d")), Option.none())
*
* @since 1.0.0
*/
exports.replaceAll = replaceAll;
const search = regexp => self => Option.filter(Option.some(self.search(regexp)), number.greaterThanOrEqualTo(0));
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* const str = "\u0130"
* assert.deepStrictEqual(pipe(str, S.toLocaleLowerCase("tr")), "i")
*
* @since 1.0.0
*/
exports.search = search;
const toLocaleLowerCase = locale => self => self.toLocaleLowerCase(locale);
/**
* @example
* import * as S from '@effect/data/String'
* import { pipe } from '@effect/data/Function'
*
* const str = "i\u0307"
* assert.deepStrictEqual(pipe(str, S.toLocaleUpperCase("lt-LT")), "I")
*
* @since 1.0.0
*/
exports.toLocaleLowerCase = toLocaleLowerCase;
const toLocaleUpperCase = locale => self => self.toLocaleUpperCase(locale);
/**
* @example
* import * as S from '@effect/data/String'
*
* assert.deepStrictEqual(S.endsWithPosition("abc", "b", 2), true)

@@ -278,3 +496,3 @@ * assert.deepStrictEqual(S.endsWithPosition("abc", "c", 2), false)

*/
exports.endsWith = endsWith;
exports.toLocaleUpperCase = toLocaleUpperCase;
const endsWithPosition = /*#__PURE__*/(0, _Function.dual)(3, (self, searchString, position) => self.endsWith(searchString, position));

@@ -281,0 +499,0 @@ /**

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc