From 4de5e1cd6c8fb7353b539d521a97ec383b20779a Mon Sep 17 00:00:00 2001 From: aryan7071 Date: Fri, 21 Nov 2025 01:24:29 +0530 Subject: [PATCH 1/4] Add symbol/split --- .../@stdlib/symbol/split/README.md | 129 ++++++++++++++++++ .../@stdlib/symbol/split/docs/repl.txt | 17 +++ .../symbol/split/docs/types/index.d.ts | 31 +++++ .../@stdlib/symbol/split/docs/types/test.ts | 29 ++++ .../@stdlib/symbol/split/examples/index.js | 39 ++++++ .../@stdlib/symbol/split/lib/index.js | 49 +++++++ .../@stdlib/symbol/split/lib/main.js | 52 +++++++ .../@stdlib/symbol/split/package.json | 58 ++++++++ .../@stdlib/symbol/split/test/test.js | 52 +++++++ 9 files changed, 456 insertions(+) create mode 100644 lib/node_modules/@stdlib/symbol/split/README.md create mode 100644 lib/node_modules/@stdlib/symbol/split/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/symbol/split/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/symbol/split/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/symbol/split/examples/index.js create mode 100644 lib/node_modules/@stdlib/symbol/split/lib/index.js create mode 100644 lib/node_modules/@stdlib/symbol/split/lib/main.js create mode 100644 lib/node_modules/@stdlib/symbol/split/package.json create mode 100644 lib/node_modules/@stdlib/symbol/split/test/test.js diff --git a/lib/node_modules/@stdlib/symbol/split/README.md b/lib/node_modules/@stdlib/symbol/split/README.md new file mode 100644 index 000000000000..7082d87e4729 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/split/README.md @@ -0,0 +1,129 @@ + + +# SplitSymbol + +> [Symbol][mdn-symbol] which provides a method for replacing substrings matched by the current object. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var SplitSymbol = require( '@stdlib/symbol/split' ); +``` + +#### SplitSymbol + +[`symbol`][mdn-symbol] which provides a method for replacing substrings matched by the current object. + +```javascript +var s = typeof SplitSymbol; +// e.g., returns 'symbol' +``` + +
+ + + + + +
+ +## Notes + +- The [symbol][mdn-symbol] is only supported in environments which support [symbols][mdn-symbol]. In non-supporting environments, the value is `null`. + + +
+ + + + + +
+ +## Examples + + + +```javascript +var defineProperty = require( '@stdlib/utils/define-property' ); +var SplitSymbol = require( '@stdlib/symbol/split' ); + +function split(str) { + var idx = str.indexOf(this.value); + if (idx === -1) { + return str; + } + return str.substring(0, idx) + '/' + str.substring(idx + this.value.length); +} + +var obj = { value: 'foo' }; + +defineProperty(obj, SplitSymbol, { + 'configurable': true, + 'value': split +}); + +var str = 'foobar'; +console.log(str.split(obj)); + +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/symbol/split/docs/repl.txt b/lib/node_modules/@stdlib/symbol/split/docs/repl.txt new file mode 100644 index 000000000000..42c84a7d14de --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/split/docs/repl.txt @@ -0,0 +1,17 @@ + +{{alias}} + Split symbol. + + This symbol provides a method for splitting substrings matched by the current object. + + The symbol is only supported in ES6/ES2015+ environments. For non-supporting + environments, the value is `null`. + + Examples + -------- + > var s = {{alias}} + e.g., + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/symbol/split/docs/types/index.d.ts b/lib/node_modules/@stdlib/symbol/split/docs/types/index.d.ts new file mode 100644 index 000000000000..80d2153f76df --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/split/docs/types/index.d.ts @@ -0,0 +1,31 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +// EXPORTS // + +/** +* Split symbol. +* +* ## Notes +* +* - This symbol provides a method for splitting substrings matched by the current object. +* - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. +*/ +export = Symbol.split; diff --git a/lib/node_modules/@stdlib/symbol/split/docs/types/test.ts b/lib/node_modules/@stdlib/symbol/split/docs/types/test.ts new file mode 100644 index 000000000000..8ecb7854fa4f --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/split/docs/types/test.ts @@ -0,0 +1,29 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* eslint-disable @typescript-eslint/no-unused-expressions */ + +import SplitSymbol = require( './index' ); + + +// TESTS // + +// The exported value is the `split` symbol... +{ + SplitSymbol; +} diff --git a/lib/node_modules/@stdlib/symbol/split/examples/index.js b/lib/node_modules/@stdlib/symbol/split/examples/index.js new file mode 100644 index 000000000000..6497ed2174db --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/split/examples/index.js @@ -0,0 +1,39 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; +var defineProperty = require('@stdlib/utils/define-property'); +var SplitSymbol = require('../../lib'); + +function split(str) { + var idx = str.indexOf(this.value); + if (idx === -1) { + return str; + } + return str.substring(0, idx) + '/' + str.substring(idx + this.value.length); +} + +var obj = { value: 'foo' }; + +defineProperty(obj, SplitSymbol, { + 'configurable': true, + 'value': split +}); + +var str = 'foobar'; +console.log(str.split(obj)); diff --git a/lib/node_modules/@stdlib/symbol/split/lib/index.js b/lib/node_modules/@stdlib/symbol/split/lib/index.js new file mode 100644 index 000000000000..d1cda5a7ceda --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/split/lib/index.js @@ -0,0 +1,49 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Symbol which provides a method for replacing substrings matched by the current object. +* +* @module @stdlib/symbol/split +* +* @example +* var SplitSymbol = require( '@stdlib/symbol/split' ); +* +* function split(str) { +* var idx = str.indexOf(this.value); +* if (idx === -1) { +* return str; // nothing to split +* } +* return str.substring(0, idx) + '/' + str.substring(idx + this.value.length); +*} +* +* var obj = {}; +* obj[ SplitSymbol ] = split; +* +*/ + +// MAIN // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/symbol/split/lib/main.js b/lib/node_modules/@stdlib/symbol/split/lib/main.js new file mode 100644 index 000000000000..1b71cf8c543f --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/split/lib/main.js @@ -0,0 +1,52 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var hasSplitSymbolSupport = require( '@stdlib/assert/has-Split-symbol-support' ); + + +// MAIN // + +/** +* Split symbol. +* +* @name SplitSymbol +* @constant +* @type {(symbol|null)} +* +* @example +* function split(str) { +* var idx = str.indexOf(this.value); +* if (idx === -1) { +* return str; // nothing to split +* } +* return str.substring(0, idx) + '/' + str.substring(idx + this.value.length); +*} +* +* var obj = {}; +* obj[ SplitSymbol ] = split; +*/ +var splitSymbol = ( hasSplitSymbolSupport() ) ? Symbol.split : null; + + +// EXPORTS // + +module.exports = splitSymbol; diff --git a/lib/node_modules/@stdlib/symbol/split/package.json b/lib/node_modules/@stdlib/symbol/split/package.json new file mode 100644 index 000000000000..8f545177daaa --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/split/package.json @@ -0,0 +1,58 @@ +{ + "name": "@stdlib/symbol/split", + "version": "0.0.0", + "description": "Split symbol.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "symbol", + "sym", + "split", + "substring", + "string" + ] +} diff --git a/lib/node_modules/@stdlib/symbol/split/test/test.js b/lib/node_modules/@stdlib/symbol/split/test/test.js new file mode 100644 index 000000000000..82ce3cfb49a6 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/split/test/test.js @@ -0,0 +1,52 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var hasSplitSymbolSupport = require( '@stdlib/assert/has-split-symbol-support' ); +var isSymbol = require( '@stdlib/assert/is-symbol' ); +var Sym = require( './../lib' ); + + +// VARIABLES // + +var opts = { + 'skip': !hasSplitSymbolSupport() +}; + + +// TESTS // + +tape( 'main export is a symbol in supporting environments (ES6/2015+) or otherwise null', function test( t ) { + t.ok( true, __filename ); + if ( opts.skip ) { + t.strictEqual( Sym, null, 'main export is null' ); + } else { + t.strictEqual( typeof Sym, 'symbol', 'main export is a symbol' ); + t.strictEqual( isSymbol( Sym ), true, 'main export is a symbol' ); + } + t.end(); +}); + +tape( 'the main export is an alias for `Symbol.split`', opts, function test( t ) { + t.strictEqual( Sym, Symbol.split, 'returns expected value' ); + t.end(); +}); From 7621fb2c651be7fc884cb3626b0cb4bb5259f921 Mon Sep 17 00:00:00 2001 From: aryan7071 Date: Mon, 24 Nov 2025 23:29:18 +0530 Subject: [PATCH 2/4] origin fixed --- .../@stdlib/symbol/split/README.md | 129 ------------------ .../@stdlib/symbol/split/docs/repl.txt | 17 --- .../symbol/split/docs/types/index.d.ts | 31 ----- .../@stdlib/symbol/split/docs/types/test.ts | 29 ---- .../@stdlib/symbol/split/examples/index.js | 39 ------ .../@stdlib/symbol/split/lib/index.js | 49 ------- .../@stdlib/symbol/split/lib/main.js | 52 ------- .../@stdlib/symbol/split/package.json | 58 -------- .../@stdlib/symbol/split/test/test.js | 52 ------- 9 files changed, 456 deletions(-) delete mode 100644 lib/node_modules/@stdlib/symbol/split/README.md delete mode 100644 lib/node_modules/@stdlib/symbol/split/docs/repl.txt delete mode 100644 lib/node_modules/@stdlib/symbol/split/docs/types/index.d.ts delete mode 100644 lib/node_modules/@stdlib/symbol/split/docs/types/test.ts delete mode 100644 lib/node_modules/@stdlib/symbol/split/examples/index.js delete mode 100644 lib/node_modules/@stdlib/symbol/split/lib/index.js delete mode 100644 lib/node_modules/@stdlib/symbol/split/lib/main.js delete mode 100644 lib/node_modules/@stdlib/symbol/split/package.json delete mode 100644 lib/node_modules/@stdlib/symbol/split/test/test.js diff --git a/lib/node_modules/@stdlib/symbol/split/README.md b/lib/node_modules/@stdlib/symbol/split/README.md deleted file mode 100644 index 7082d87e4729..000000000000 --- a/lib/node_modules/@stdlib/symbol/split/README.md +++ /dev/null @@ -1,129 +0,0 @@ - - -# SplitSymbol - -> [Symbol][mdn-symbol] which provides a method for replacing substrings matched by the current object. - - - -
- -
- - - - - -
- -## Usage - -```javascript -var SplitSymbol = require( '@stdlib/symbol/split' ); -``` - -#### SplitSymbol - -[`symbol`][mdn-symbol] which provides a method for replacing substrings matched by the current object. - -```javascript -var s = typeof SplitSymbol; -// e.g., returns 'symbol' -``` - -
- - - - - -
- -## Notes - -- The [symbol][mdn-symbol] is only supported in environments which support [symbols][mdn-symbol]. In non-supporting environments, the value is `null`. - - -
- - - - - -
- -## Examples - - - -```javascript -var defineProperty = require( '@stdlib/utils/define-property' ); -var SplitSymbol = require( '@stdlib/symbol/split' ); - -function split(str) { - var idx = str.indexOf(this.value); - if (idx === -1) { - return str; - } - return str.substring(0, idx) + '/' + str.substring(idx + this.value.length); -} - -var obj = { value: 'foo' }; - -defineProperty(obj, SplitSymbol, { - 'configurable': true, - 'value': split -}); - -var str = 'foobar'; -console.log(str.split(obj)); - -``` - -
- - - - - -
- -
- - - - - - - - - - - - - - diff --git a/lib/node_modules/@stdlib/symbol/split/docs/repl.txt b/lib/node_modules/@stdlib/symbol/split/docs/repl.txt deleted file mode 100644 index 42c84a7d14de..000000000000 --- a/lib/node_modules/@stdlib/symbol/split/docs/repl.txt +++ /dev/null @@ -1,17 +0,0 @@ - -{{alias}} - Split symbol. - - This symbol provides a method for splitting substrings matched by the current object. - - The symbol is only supported in ES6/ES2015+ environments. For non-supporting - environments, the value is `null`. - - Examples - -------- - > var s = {{alias}} - e.g., - - See Also - -------- - diff --git a/lib/node_modules/@stdlib/symbol/split/docs/types/index.d.ts b/lib/node_modules/@stdlib/symbol/split/docs/types/index.d.ts deleted file mode 100644 index 80d2153f76df..000000000000 --- a/lib/node_modules/@stdlib/symbol/split/docs/types/index.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2025 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -// TypeScript Version: 4.1 - -// EXPORTS // - -/** -* Split symbol. -* -* ## Notes -* -* - This symbol provides a method for splitting substrings matched by the current object. -* - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. -*/ -export = Symbol.split; diff --git a/lib/node_modules/@stdlib/symbol/split/docs/types/test.ts b/lib/node_modules/@stdlib/symbol/split/docs/types/test.ts deleted file mode 100644 index 8ecb7854fa4f..000000000000 --- a/lib/node_modules/@stdlib/symbol/split/docs/types/test.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2025 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -/* eslint-disable @typescript-eslint/no-unused-expressions */ - -import SplitSymbol = require( './index' ); - - -// TESTS // - -// The exported value is the `split` symbol... -{ - SplitSymbol; -} diff --git a/lib/node_modules/@stdlib/symbol/split/examples/index.js b/lib/node_modules/@stdlib/symbol/split/examples/index.js deleted file mode 100644 index 6497ed2174db..000000000000 --- a/lib/node_modules/@stdlib/symbol/split/examples/index.js +++ /dev/null @@ -1,39 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2025 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; -var defineProperty = require('@stdlib/utils/define-property'); -var SplitSymbol = require('../../lib'); - -function split(str) { - var idx = str.indexOf(this.value); - if (idx === -1) { - return str; - } - return str.substring(0, idx) + '/' + str.substring(idx + this.value.length); -} - -var obj = { value: 'foo' }; - -defineProperty(obj, SplitSymbol, { - 'configurable': true, - 'value': split -}); - -var str = 'foobar'; -console.log(str.split(obj)); diff --git a/lib/node_modules/@stdlib/symbol/split/lib/index.js b/lib/node_modules/@stdlib/symbol/split/lib/index.js deleted file mode 100644 index d1cda5a7ceda..000000000000 --- a/lib/node_modules/@stdlib/symbol/split/lib/index.js +++ /dev/null @@ -1,49 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2025 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -/** -* Symbol which provides a method for replacing substrings matched by the current object. -* -* @module @stdlib/symbol/split -* -* @example -* var SplitSymbol = require( '@stdlib/symbol/split' ); -* -* function split(str) { -* var idx = str.indexOf(this.value); -* if (idx === -1) { -* return str; // nothing to split -* } -* return str.substring(0, idx) + '/' + str.substring(idx + this.value.length); -*} -* -* var obj = {}; -* obj[ SplitSymbol ] = split; -* -*/ - -// MAIN // - -var main = require( './main.js' ); - - -// EXPORTS // - -module.exports = main; diff --git a/lib/node_modules/@stdlib/symbol/split/lib/main.js b/lib/node_modules/@stdlib/symbol/split/lib/main.js deleted file mode 100644 index 1b71cf8c543f..000000000000 --- a/lib/node_modules/@stdlib/symbol/split/lib/main.js +++ /dev/null @@ -1,52 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2025 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var hasSplitSymbolSupport = require( '@stdlib/assert/has-Split-symbol-support' ); - - -// MAIN // - -/** -* Split symbol. -* -* @name SplitSymbol -* @constant -* @type {(symbol|null)} -* -* @example -* function split(str) { -* var idx = str.indexOf(this.value); -* if (idx === -1) { -* return str; // nothing to split -* } -* return str.substring(0, idx) + '/' + str.substring(idx + this.value.length); -*} -* -* var obj = {}; -* obj[ SplitSymbol ] = split; -*/ -var splitSymbol = ( hasSplitSymbolSupport() ) ? Symbol.split : null; - - -// EXPORTS // - -module.exports = splitSymbol; diff --git a/lib/node_modules/@stdlib/symbol/split/package.json b/lib/node_modules/@stdlib/symbol/split/package.json deleted file mode 100644 index 8f545177daaa..000000000000 --- a/lib/node_modules/@stdlib/symbol/split/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "@stdlib/symbol/split", - "version": "0.0.0", - "description": "Split symbol.", - "license": "Apache-2.0", - "author": { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - }, - "contributors": [ - { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - } - ], - "main": "./lib", - "directories": { - "doc": "./docs", - "example": "./examples", - "lib": "./lib", - "test": "./test" - }, - "types": "./docs/types", - "scripts": {}, - "homepage": "https://github.com/stdlib-js/stdlib", - "repository": { - "type": "git", - "url": "git://github.com/stdlib-js/stdlib.git" - }, - "bugs": { - "url": "https://github.com/stdlib-js/stdlib/issues" - }, - "dependencies": {}, - "devDependencies": {}, - "engines": { - "node": ">=0.10.0", - "npm": ">2.7.0" - }, - "os": [ - "aix", - "darwin", - "freebsd", - "linux", - "macos", - "openbsd", - "sunos", - "win32", - "windows" - ], - "keywords": [ - "stdlib", - "symbol", - "sym", - "split", - "substring", - "string" - ] -} diff --git a/lib/node_modules/@stdlib/symbol/split/test/test.js b/lib/node_modules/@stdlib/symbol/split/test/test.js deleted file mode 100644 index 82ce3cfb49a6..000000000000 --- a/lib/node_modules/@stdlib/symbol/split/test/test.js +++ /dev/null @@ -1,52 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2025 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var tape = require( 'tape' ); -var hasSplitSymbolSupport = require( '@stdlib/assert/has-split-symbol-support' ); -var isSymbol = require( '@stdlib/assert/is-symbol' ); -var Sym = require( './../lib' ); - - -// VARIABLES // - -var opts = { - 'skip': !hasSplitSymbolSupport() -}; - - -// TESTS // - -tape( 'main export is a symbol in supporting environments (ES6/2015+) or otherwise null', function test( t ) { - t.ok( true, __filename ); - if ( opts.skip ) { - t.strictEqual( Sym, null, 'main export is null' ); - } else { - t.strictEqual( typeof Sym, 'symbol', 'main export is a symbol' ); - t.strictEqual( isSymbol( Sym ), true, 'main export is a symbol' ); - } - t.end(); -}); - -tape( 'the main export is an alias for `Symbol.split`', opts, function test( t ) { - t.strictEqual( Sym, Symbol.split, 'returns expected value' ); - t.end(); -}); From c987a013ddef35aa3fe5ac7969df438cac0a62ff Mon Sep 17 00:00:00 2001 From: aryan7071 Date: Thu, 27 Nov 2025 01:18:08 +0530 Subject: [PATCH 3/4] Add-symbol/search --- .../@stdlib/symbol/search/README.md | 117 ++++++++++++++++++ .../@stdlib/symbol/search/docs/repl.txt | 17 +++ .../symbol/search/docs/types/index.d.ts | 31 +++++ .../@stdlib/symbol/search/docs/types/test.ts | 29 +++++ .../@stdlib/symbol/search/examples/index.js | 30 +++++ .../@stdlib/symbol/search/lib/index.js | 47 +++++++ .../@stdlib/symbol/search/lib/main.js | 53 ++++++++ .../@stdlib/symbol/search/package.json | 58 +++++++++ .../@stdlib/symbol/search/test/test.js | 52 ++++++++ 9 files changed, 434 insertions(+) create mode 100644 lib/node_modules/@stdlib/symbol/search/README.md create mode 100644 lib/node_modules/@stdlib/symbol/search/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/symbol/search/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/symbol/search/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/symbol/search/examples/index.js create mode 100644 lib/node_modules/@stdlib/symbol/search/lib/index.js create mode 100644 lib/node_modules/@stdlib/symbol/search/lib/main.js create mode 100644 lib/node_modules/@stdlib/symbol/search/package.json create mode 100644 lib/node_modules/@stdlib/symbol/search/test/test.js diff --git a/lib/node_modules/@stdlib/symbol/search/README.md b/lib/node_modules/@stdlib/symbol/search/README.md new file mode 100644 index 000000000000..40573315b558 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/search/README.md @@ -0,0 +1,117 @@ + + +# SearchSymbol + +> [Symbol][mdn-symbol] which returns the index within a string that matches the regular expression. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var SearchSymbol = require( '@stdlib/symbol/search' ); +``` + +#### SearchSymbol + +[`symbol`][mdn-symbol] which returns the index within a string that matches the regular expression. + +```javascript +var s = typeof SearchSymbol; +// e.g., returns 'symbol' +``` + +
+ + + + + +
+ +## Notes + +- The [symbol][mdn-symbol] is only supported in environments which support [symbols][mdn-symbol]. In non-supporting environments, the value is `null`. + +
+ + + + + +
+ +## Examples + + + +```javascript +class Search{ + constructor(value) { + this.value = value; + } + [Symbol.search](string) { + return string.indexOf(this.value); + } +} + +console.log("foobar".search(new Search("bar"))); +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/symbol/search/docs/repl.txt b/lib/node_modules/@stdlib/symbol/search/docs/repl.txt new file mode 100644 index 000000000000..7821ee58e76c --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/search/docs/repl.txt @@ -0,0 +1,17 @@ + +{{alias}} + Search symbol. + + This symbol returns the index within a string that matches the regular expression. + + The symbol is only supported in ES6/ES2015+ environments. For non-supporting + environments, the value is `null`. + + Examples + -------- + > var s = {{alias}} + e.g., + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/symbol/search/docs/types/index.d.ts b/lib/node_modules/@stdlib/symbol/search/docs/types/index.d.ts new file mode 100644 index 000000000000..6d7869324768 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/search/docs/types/index.d.ts @@ -0,0 +1,31 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +// EXPORTS // + +/** +* Search symbol. +* +* ## Notes +* +* - This symbol returns the index within a string that matches the regular expression. +* - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. +*/ +export = Symbol.search; diff --git a/lib/node_modules/@stdlib/symbol/search/docs/types/test.ts b/lib/node_modules/@stdlib/symbol/search/docs/types/test.ts new file mode 100644 index 000000000000..15da52c3e4eb --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/search/docs/types/test.ts @@ -0,0 +1,29 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* eslint-disable @typescript-eslint/no-unused-expressions */ + +import SearchSymbol = require( './index' ); + + +// TESTS // + +// The exported value is the `search` symbol... +{ + SearchSymbol; +} diff --git a/lib/node_modules/@stdlib/symbol/search/examples/index.js b/lib/node_modules/@stdlib/symbol/search/examples/index.js new file mode 100644 index 000000000000..51774bbd68f2 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/search/examples/index.js @@ -0,0 +1,30 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +class Search{ + constructor(value) { + this.value = value; + } + [Symbol.search](string) { + return string.indexOf(this.value); + } +} + +console.log("foobar".search(new Search("bar"))); diff --git a/lib/node_modules/@stdlib/symbol/search/lib/index.js b/lib/node_modules/@stdlib/symbol/search/lib/index.js new file mode 100644 index 000000000000..a685428d5dd7 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/search/lib/index.js @@ -0,0 +1,47 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Symbol which returns the index within a string that matches the regular expression. +* +* @module @stdlib/symbol/replace +* +* @example +* class Search{ +* constructor(value) { +* this.value = value; +* } +* [Symbol.search](string) { +* return string.indexOf(this.value); +* } +*} +* +*console.log("foobar".search(new Search("bar"))); +* +*/ + +// MAIN // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/symbol/search/lib/main.js b/lib/node_modules/@stdlib/symbol/search/lib/main.js new file mode 100644 index 000000000000..0d236f5d1520 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/search/lib/main.js @@ -0,0 +1,53 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var hasSearchSymbolSupport = require( '@stdlib/assert/has-search-symbol-support' ); + + +// MAIN // + +/** +* Search symbol. +* +* @name SearchSymbol +* @constant +* @type {(symbol|null)} +* +* @example +* class Search{ +* constructor(value) { +* this.value = value; +* } +* [Symbol.search](string) { +* return string.indexOf(this.value); +* } +*} +* +*console.log("foobar".search(new Search("bar"))); +* +*/ +var SearchSymbol = ( hasSearchSymbolSupport() ) ? Symbol.search : null; + + +// EXPORTS // + +module.exports = SearchSymbol; diff --git a/lib/node_modules/@stdlib/symbol/search/package.json b/lib/node_modules/@stdlib/symbol/search/package.json new file mode 100644 index 000000000000..e850aeb61b82 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/search/package.json @@ -0,0 +1,58 @@ +{ + "name": "@stdlib/symbol/search", + "version": "0.0.0", + "description": "Search symbol.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "symbol", + "sym", + "search", + "str", + "string" + ] +} diff --git a/lib/node_modules/@stdlib/symbol/search/test/test.js b/lib/node_modules/@stdlib/symbol/search/test/test.js new file mode 100644 index 000000000000..7fd28478c487 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/search/test/test.js @@ -0,0 +1,52 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var hasSearchSymbolSupport = require( '@stdlib/assert/has-search-symbol-support' ); +var isSymbol = require( '@stdlib/assert/is-symbol' ); +var Sym = require( './../lib' ); + + +// VARIABLES // + +var opts = { + 'skip': !hasSearchSymbolSupport() +}; + + +// TESTS // + +tape( 'main export is a symbol in supporting environments (ES6/2015+) or otherwise null', function test( t ) { + t.ok( true, __filename ); + if ( opts.skip ) { + t.strictEqual( Sym, null, 'main export is null' ); + } else { + t.strictEqual( typeof Sym, 'symbol', 'main export is a symbol' ); + t.strictEqual( isSymbol( Sym ), true, 'main export is a symbol' ); + } + t.end(); +}); + +tape( 'the main export is an alias for `Symbol.search`', opts, function test( t ) { + t.strictEqual( Sym, Symbol.search, 'returns expected value' ); + t.end(); +}); From f7c7d828ba0ef8aa108db853e3a7d2d0024a3355 Mon Sep 17 00:00:00 2001 From: aryan7071 Date: Thu, 27 Nov 2025 01:40:05 +0530 Subject: [PATCH 4/4] Add-symbol/search --- .../@stdlib/symbol/search/README.md | 19 ++++++++++++++----- .../@stdlib/symbol/search/examples/index.js | 19 ++++++++++++++----- .../@stdlib/symbol/search/lib/index.js | 19 ++++++++++++++----- .../@stdlib/symbol/search/lib/main.js | 19 ++++++++++++++----- 4 files changed, 56 insertions(+), 20 deletions(-) diff --git a/lib/node_modules/@stdlib/symbol/search/README.md b/lib/node_modules/@stdlib/symbol/search/README.md index 40573315b558..c0e24121a3a2 100644 --- a/lib/node_modules/@stdlib/symbol/search/README.md +++ b/lib/node_modules/@stdlib/symbol/search/README.md @@ -74,16 +74,25 @@ var s = typeof SearchSymbol; ```javascript -class Search{ +var defineProperty = require( '@stdlib/utils/define-property' ); +var SearchSymbol = require( '@stdlib/symbol/search' ); + +class Search { constructor(value) { this.value = value; - } - [Symbol.search](string) { - return string.indexOf(this.value); + + defineProperty(this, SearchSymbol, { + 'configurable': true, + 'enumerable': false, + 'writable': true, + 'value': function (string) { + return string.indexOf(this.value); + } + }); } } -console.log("foobar".search(new Search("bar"))); +console.log( "foobar".search( new Search("bar") ) ); ``` diff --git a/lib/node_modules/@stdlib/symbol/search/examples/index.js b/lib/node_modules/@stdlib/symbol/search/examples/index.js index 51774bbd68f2..ca6975621286 100644 --- a/lib/node_modules/@stdlib/symbol/search/examples/index.js +++ b/lib/node_modules/@stdlib/symbol/search/examples/index.js @@ -18,13 +18,22 @@ 'use strict'; -class Search{ +var defineProperty = require( '@stdlib/utils/define-property' ); +var SearchSymbol = require( '@stdlib/symbol/search' ); + +class Search { constructor(value) { this.value = value; - } - [Symbol.search](string) { - return string.indexOf(this.value); + + defineProperty(this, SearchSymbol, { + 'configurable': true, + 'enumerable': false, + 'writable': true, + 'value': function (string) { + return string.indexOf(this.value); + } + }); } } -console.log("foobar".search(new Search("bar"))); +console.log( "foobar".search( new Search("bar") ) ); diff --git a/lib/node_modules/@stdlib/symbol/search/lib/index.js b/lib/node_modules/@stdlib/symbol/search/lib/index.js index a685428d5dd7..8671e728f8f5 100644 --- a/lib/node_modules/@stdlib/symbol/search/lib/index.js +++ b/lib/node_modules/@stdlib/symbol/search/lib/index.js @@ -24,16 +24,25 @@ * @module @stdlib/symbol/replace * * @example -* class Search{ +* var defineProperty = require( '@stdlib/utils/define-property' ); +*var SearchSymbol = require( '@stdlib/symbol/search' ); +* +*class Search { * constructor(value) { * this.value = value; -* } -* [Symbol.search](string) { -* return string.indexOf(this.value); +* +* defineProperty(this, SearchSymbol, { +* 'configurable': true, +* 'enumerable': false, +* 'writable': true, +* 'value': function (string) { +* return string.indexOf(this.value); +* } +* }); * } *} * -*console.log("foobar".search(new Search("bar"))); +*console.log( "foobar".search( new Search("bar") ) ); * */ diff --git a/lib/node_modules/@stdlib/symbol/search/lib/main.js b/lib/node_modules/@stdlib/symbol/search/lib/main.js index 0d236f5d1520..9bc7dcda691d 100644 --- a/lib/node_modules/@stdlib/symbol/search/lib/main.js +++ b/lib/node_modules/@stdlib/symbol/search/lib/main.js @@ -33,16 +33,25 @@ var hasSearchSymbolSupport = require( '@stdlib/assert/has-search-symbol-support' * @type {(symbol|null)} * * @example -* class Search{ +* var defineProperty = require( '@stdlib/utils/define-property' ); +*var SearchSymbol = require( '@stdlib/symbol/search' ); +* +*class Search { * constructor(value) { * this.value = value; -* } -* [Symbol.search](string) { -* return string.indexOf(this.value); +* +* defineProperty(this, SearchSymbol, { +* 'configurable': true, +* 'enumerable': false, +* 'writable': true, +* 'value': function (string) { +* return string.indexOf(this.value); +* } +* }); * } *} * -*console.log("foobar".search(new Search("bar"))); +*console.log( "foobar".search( new Search("bar") ) ); * */ var SearchSymbol = ( hasSearchSymbolSupport() ) ? Symbol.search : null;