UNPKG

remeda

Version:

A utility library for JavaScript and Typescript.

1 lines 2.54 kB
{"version":3,"file":"startsWith.cjs","names":["purry"],"sources":["../src/startsWith.ts"],"sourcesContent":["import { purry } from \"./purry\";\n\n/**\n * Determines whether a string begins with the provided prefix, and refines the\n * output type if possible.\n *\n * This function is a wrapper around the built-in [`String.prototype.startsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith)\n * method, but doesn't expose the `startPosition` parameter. To check from a\n * specific position, use\n * `startsWith(sliceString(data, startPosition), prefix)`.\n *\n * @param data - The input string.\n * @param prefix - The string to check for at the beginning.\n * @signature\n * R.startsWith(data, prefix);\n * @example\n * R.startsWith(\"hello world\", \"hello\"); // true\n * R.startsWith(\"hello world\", \"world\"); // false\n * @dataFirst\n * @category String\n */\nexport function startsWith<T extends string, Prefix extends string>(\n data: T,\n prefix: string extends Prefix ? never : Prefix,\n): data is T & `${Prefix}${string}`;\nexport function startsWith(data: string, prefix: string): boolean;\n\n/**\n * Determines whether a string begins with the provided prefix, and refines the\n * output type if possible.\n *\n * This function is a wrapper around the built-in [`String.prototype.startsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith)\n * method, but doesn't expose the `startPosition` parameter. To check from a\n * specific position, use\n * `startsWith(sliceString(data, startPosition), prefix)`.\n *\n * @param prefix - The string to check for at the beginning.\n * @signature\n * R.startsWith(prefix)(data);\n * @example\n * R.pipe(\"hello world\", R.startsWith(\"hello\")); // true\n * R.pipe(\"hello world\", R.startsWith(\"world\")); // false\n * @dataLast\n * @category String\n */\nexport function startsWith<Prefix extends string>(\n prefix: string extends Prefix ? never : Prefix,\n): <T extends string>(data: T) => data is T & `${Prefix}${string}`;\nexport function startsWith(prefix: string): (data: string) => boolean;\n\nexport function startsWith(...args: ReadonlyArray<unknown>): unknown {\n return purry(startsWithImplementation, args);\n}\n\nconst startsWithImplementation = (data: string, prefix: string): boolean =>\n data.startsWith(prefix);\n"],"mappings":"wCAkDA,SAAgB,EAAW,GAAG,EAAuC,CACnE,OAAOA,EAAAA,EAAM,EAA0B,EAAK,CAG9C,MAAM,GAA4B,EAAc,IAC9C,EAAK,WAAW,EAAO"}