From 4de5e1cd6c8fb7353b539d521a97ec383b20779a Mon Sep 17 00:00:00 2001 From: aryan7071 Date: Fri, 21 Nov 2025 01:24:29 +0530 Subject: [PATCH 1/5] 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/5] 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 72c71e4cec0269e19485bbec81b1230793eeff53 Mon Sep 17 00:00:00 2001 From: aryan7071 Date: Fri, 28 Nov 2025 23:09:38 +0530 Subject: [PATCH 3/5] replace all the words with match --- .../@stdlib/symbol/match/README.md | 130 ++++++++++++++++++ .../@stdlib/symbol/match/docs/repl.txt | 17 +++ .../symbol/match/docs/types/index.d.ts | 31 +++++ .../@stdlib/symbol/match/docs/types/test.ts | 29 ++++ .../@stdlib/symbol/match/examples/index.js | 42 ++++++ .../@stdlib/symbol/match/lib/index.js | 44 ++++++ .../@stdlib/symbol/match/lib/main.js | 48 +++++++ .../@stdlib/symbol/match/package.json | 57 ++++++++ .../@stdlib/symbol/match/test/test.js | 52 +++++++ 9 files changed, 450 insertions(+) create mode 100644 lib/node_modules/@stdlib/symbol/match/README.md create mode 100644 lib/node_modules/@stdlib/symbol/match/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/symbol/match/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/symbol/match/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/symbol/match/examples/index.js create mode 100644 lib/node_modules/@stdlib/symbol/match/lib/index.js create mode 100644 lib/node_modules/@stdlib/symbol/match/lib/main.js create mode 100644 lib/node_modules/@stdlib/symbol/match/package.json create mode 100644 lib/node_modules/@stdlib/symbol/match/test/test.js diff --git a/lib/node_modules/@stdlib/symbol/match/README.md b/lib/node_modules/@stdlib/symbol/match/README.md new file mode 100644 index 000000000000..861100da9250 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/match/README.md @@ -0,0 +1,130 @@ + + +# MatchSymbol + +> [Symbol][mdn-symbol] which provides a method that matches the regular expression against a string. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var MatchSymbol = require( '@stdlib/symbol/match' ); +``` + +#### MatchSymbol + +[`symbol`][mdn-symbol] which provides a method that matches the regular expression against a string. + +```javascript +var s = typeof MatchSymbol; +// 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`. +- When calling `String.prototype.match` and `String.prototype.matchAll` and the `pattern` argument is an object with a `[MatchSymbol]()` method, this method is called with the target string and replacement as arguments. + +
+ + + + + +
+ +## Examples + + + +```javascript +var defineProperty = require( '@stdlib/utils/define-property' ); +var ReplaceSymbol = require( '@stdlib/symbol/replace' ); + +function replace( str, replacement ) { + return replacement; +} + +var obj = {}; + +defineProperty( obj, ReplaceSymbol, { + 'configurable': true, + 'value': null +}); + +var str = 'beep'; +console.log( str.replace( obj, 'boop' ) ); + +defineProperty( obj, ReplaceSymbol, { + 'configurable': true, + 'value': replace +}); +console.log( str.replace( obj, 'boop' ) ); +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/symbol/match/docs/repl.txt b/lib/node_modules/@stdlib/symbol/match/docs/repl.txt new file mode 100644 index 000000000000..b2da8f0faf91 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/match/docs/repl.txt @@ -0,0 +1,17 @@ + +{{alias}} + Match symbol. + + This symbol provides a method that matches the regular expression against a string. + + 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/match/docs/types/index.d.ts b/lib/node_modules/@stdlib/symbol/match/docs/types/index.d.ts new file mode 100644 index 000000000000..72cce4a755f1 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/match/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 // + +/** +* Replace symbol. +* +* ## Notes +* +* - This symbol provides a method for replacing 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.match; diff --git a/lib/node_modules/@stdlib/symbol/match/docs/types/test.ts b/lib/node_modules/@stdlib/symbol/match/docs/types/test.ts new file mode 100644 index 000000000000..b5675fb484e6 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/match/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 MatchSymbol = require( './index' ); + + +// TESTS // + +// The exported value is the `match` symbol... +{ + MatchSymbol; +} diff --git a/lib/node_modules/@stdlib/symbol/match/examples/index.js b/lib/node_modules/@stdlib/symbol/match/examples/index.js new file mode 100644 index 000000000000..860f005202de --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/match/examples/index.js @@ -0,0 +1,42 @@ +/** +* @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 ReplaceSymbol = require( './../lib' ); + +function replace( str, replacement ) { + return replacement; +} + +var obj = {}; + +defineProperty( obj, ReplaceSymbol, { + 'configurable': true, + 'value': null +}); + +var str = 'beep'; +console.log( str.replace( obj, 'boop' ) ); + +defineProperty( obj, ReplaceSymbol, { + 'configurable': true, + 'value': replace +}); +console.log( str.replace( obj, 'boop' ) ); diff --git a/lib/node_modules/@stdlib/symbol/match/lib/index.js b/lib/node_modules/@stdlib/symbol/match/lib/index.js new file mode 100644 index 000000000000..8d546504baca --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/match/lib/index.js @@ -0,0 +1,44 @@ +/** +* @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/match +* +* @example +* var ReplaceSymbol = require( '@stdlib/symbol/replace' ); +* +* function replace( str, replacement ) { +* return replacement; +* } +* +* var obj = {}; +* obj[ ReplaceSymbol ] = replace; +*/ + +// MAIN // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/symbol/match/lib/main.js b/lib/node_modules/@stdlib/symbol/match/lib/main.js new file mode 100644 index 000000000000..2f7d2315714d --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/match/lib/main.js @@ -0,0 +1,48 @@ +/** +* @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 hasMatchSymbolSupport = require( '@stdlib/assert/has-match-symbol-support' ); + + +// MAIN // + +/** +* Match symbol. +* +* @name MatchSymbol +* @constant +* @type {(symbol|null)} +* +* @example +* function replace( str, replacement ) { +* return replacement; +* } +* +* var obj = {}; +* obj[ ReplaceSymbol ] = replace; +*/ +var MatchSymbol = ( hasMatchSymbolSupport() ) ? Symbol.match : null; + + +// EXPORTS // + +module.exports = MatchSymbol; diff --git a/lib/node_modules/@stdlib/symbol/match/package.json b/lib/node_modules/@stdlib/symbol/match/package.json new file mode 100644 index 000000000000..08f3da504871 --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/match/package.json @@ -0,0 +1,57 @@ +{ + "name": "@stdlib/symbol/match", + "version": "0.0.0", + "description": "Match 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", + "match", + "string" + ] +} diff --git a/lib/node_modules/@stdlib/symbol/match/test/test.js b/lib/node_modules/@stdlib/symbol/match/test/test.js new file mode 100644 index 000000000000..38fb2e89930a --- /dev/null +++ b/lib/node_modules/@stdlib/symbol/match/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 hasMatchSymbolSupport = require( '@stdlib/assert/has-match-symbol-support' ); +var isSymbol = require( '@stdlib/assert/is-symbol' ); +var Sym = require( './../lib' ); + + +// VARIABLES // + +var opts = { + 'skip': !hasMatchSymbolSupport() +}; + + +// 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.match`', opts, function test( t ) { + t.strictEqual( Sym, Symbol.match, 'returns expected value' ); + t.end(); +}); From 78441ba45984ce1bcacda5f03c2d23c5994e3896 Mon Sep 17 00:00:00 2001 From: aryan7071 Date: Sat, 29 Nov 2025 00:24:17 +0530 Subject: [PATCH 4/5] add-symbol/match --- .../@stdlib/symbol/match/README.md | 27 ++++++---------- .../@stdlib/symbol/match/docs/repl.txt | 2 +- .../@stdlib/symbol/match/examples/index.js | 31 +++++++++---------- .../@stdlib/symbol/match/lib/index.js | 22 ++++++++----- .../@stdlib/symbol/match/lib/main.js | 19 +++++++++--- 5 files changed, 55 insertions(+), 46 deletions(-) diff --git a/lib/node_modules/@stdlib/symbol/match/README.md b/lib/node_modules/@stdlib/symbol/match/README.md index 861100da9250..f8c53ef3b8d9 100644 --- a/lib/node_modules/@stdlib/symbol/match/README.md +++ b/lib/node_modules/@stdlib/symbol/match/README.md @@ -20,7 +20,7 @@ limitations under the License. # MatchSymbol -> [Symbol][mdn-symbol] which provides a method that matches the regular expression against a string. +> [Symbol][mdn-symbol] which provides a method that matches a regular expression against a string. @@ -60,7 +60,6 @@ var s = typeof MatchSymbol; ## Notes - The [symbol][mdn-symbol] is only supported in environments which support [symbols][mdn-symbol]. In non-supporting environments, the value is `null`. -- When calling `String.prototype.match` and `String.prototype.matchAll` and the `pattern` argument is an object with a `[MatchSymbol]()` method, this method is called with the target string and replacement as arguments. @@ -76,27 +75,21 @@ var s = typeof MatchSymbol; ```javascript var defineProperty = require( '@stdlib/utils/define-property' ); -var ReplaceSymbol = require( '@stdlib/symbol/replace' ); - -function replace( str, replacement ) { - return replacement; -} +var MatchSymbol = require( '@stdlib/symbol/match' ); -var obj = {}; +var regexp = /foo/; -defineProperty( obj, ReplaceSymbol, { +defineProperty( regexp, MatchSymbol, { 'configurable': true, - 'value': null + 'enumerable': false, + 'writable': true, + 'value': false }); -var str = 'beep'; -console.log( str.replace( obj, 'boop' ) ); +console.log( "/foo/".startsWith( regexp ) ); + +console.log( "/baz/".endsWith( regexp ) ); -defineProperty( obj, ReplaceSymbol, { - 'configurable': true, - 'value': replace -}); -console.log( str.replace( obj, 'boop' ) ); ``` diff --git a/lib/node_modules/@stdlib/symbol/match/docs/repl.txt b/lib/node_modules/@stdlib/symbol/match/docs/repl.txt index b2da8f0faf91..ee6e1ab27e80 100644 --- a/lib/node_modules/@stdlib/symbol/match/docs/repl.txt +++ b/lib/node_modules/@stdlib/symbol/match/docs/repl.txt @@ -2,7 +2,7 @@ {{alias}} Match symbol. - This symbol provides a method that matches the regular expression against a string. + This symbol provides a method that matches a regular expression against a string. The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. diff --git a/lib/node_modules/@stdlib/symbol/match/examples/index.js b/lib/node_modules/@stdlib/symbol/match/examples/index.js index 860f005202de..fe419e8c5f7b 100644 --- a/lib/node_modules/@stdlib/symbol/match/examples/index.js +++ b/lib/node_modules/@stdlib/symbol/match/examples/index.js @@ -19,24 +19,23 @@ 'use strict'; var defineProperty = require( '@stdlib/utils/define-property' ); -var ReplaceSymbol = require( './../lib' ); +var MatchSymbol = require( '@stdlib/symbol/match' ); -function replace( str, replacement ) { - return replacement; -} +var regexp = /foo/; -var obj = {}; - -defineProperty( obj, ReplaceSymbol, { - 'configurable': true, - 'value': null +// override the default `Symbol.match` behavior using stdlib's `MatchSymbol` +defineProperty( regexp, MatchSymbol, { + 'configurable': true, + 'enumerable': false, + 'writable': true, + 'value': false }); -var str = 'beep'; -console.log( str.replace( obj, 'boop' ) ); +// Without overriding MatchSymbol, this would normally throw an error in all engines: +// "/foo/".startsWith(regexp); + +console.log( "/foo/".startsWith( regexp ) ); +// Expected output: true + +console.log( "/baz/".endsWith( regexp ) ); -defineProperty( obj, ReplaceSymbol, { - 'configurable': true, - 'value': replace -}); -console.log( str.replace( obj, 'boop' ) ); diff --git a/lib/node_modules/@stdlib/symbol/match/lib/index.js b/lib/node_modules/@stdlib/symbol/match/lib/index.js index 8d546504baca..37807e57a336 100644 --- a/lib/node_modules/@stdlib/symbol/match/lib/index.js +++ b/lib/node_modules/@stdlib/symbol/match/lib/index.js @@ -19,19 +19,27 @@ 'use strict'; /** -* Symbol which provides a method for replacing substrings matched by the current object. +* Symbol which provides a method that matches the regular expression against a string. * * @module @stdlib/symbol/match * * @example -* var ReplaceSymbol = require( '@stdlib/symbol/replace' ); +* var defineProperty = require( '@stdlib/utils/define-property' ); +*var MatchSymbol = require( '@stdlib/symbol/match' ); * -* function replace( str, replacement ) { -* return replacement; -* } +*var regexp = /foo/; * -* var obj = {}; -* obj[ ReplaceSymbol ] = replace; +* +*defineProperty( regexp, MatchSymbol, { +* 'configurable': true, +* 'enumerable': false, +* 'writable': true, +* 'value': false +*}); +* +*console.log( "/foo/".startsWith( regexp ) ); +* +*console.log( "/baz/".endsWith( regexp ) ); */ // MAIN // diff --git a/lib/node_modules/@stdlib/symbol/match/lib/main.js b/lib/node_modules/@stdlib/symbol/match/lib/main.js index 2f7d2315714d..7331349268dc 100644 --- a/lib/node_modules/@stdlib/symbol/match/lib/main.js +++ b/lib/node_modules/@stdlib/symbol/match/lib/main.js @@ -33,12 +33,21 @@ var hasMatchSymbolSupport = require( '@stdlib/assert/has-match-symbol-support' ) * @type {(symbol|null)} * * @example -* function replace( str, replacement ) { -* return replacement; -* } +* var defineProperty = require( '@stdlib/utils/define-property' ); +*var MatchSymbol = require( '@stdlib/symbol/match' ); * -* var obj = {}; -* obj[ ReplaceSymbol ] = replace; +*var regexp = /foo/; +* +*defineProperty( regexp, MatchSymbol, { +* 'configurable': true, +* 'enumerable': false, +* 'writable': true, +* 'value': false +*}); +* +*console.log( "/foo/".startsWith( regexp ) ); +* +*console.log( "/baz/".endsWith( regexp ) ); */ var MatchSymbol = ( hasMatchSymbolSupport() ) ? Symbol.match : null; From 39ff009a2dc469a53398ef1d55f3937e86a5f528 Mon Sep 17 00:00:00 2001 From: aryan7071 Date: Sat, 29 Nov 2025 00:47:50 +0530 Subject: [PATCH 5/5] add-symbol/match --- lib/node_modules/@stdlib/symbol/match/docs/types/index.d.ts | 4 ++-- lib/node_modules/@stdlib/symbol/match/examples/index.js | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/node_modules/@stdlib/symbol/match/docs/types/index.d.ts b/lib/node_modules/@stdlib/symbol/match/docs/types/index.d.ts index 72cce4a755f1..77676d9ad004 100644 --- a/lib/node_modules/@stdlib/symbol/match/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/symbol/match/docs/types/index.d.ts @@ -21,11 +21,11 @@ // EXPORTS // /** -* Replace symbol. +* Match symbol. * * ## Notes * -* - This symbol provides a method for replacing substrings matched by the current object. +* - This symbol provides a method that matches a regular expression against a string. * - The symbol is only supported in ES6/ES2015+ environments. For non-supporting environments, the value is `null`. */ export = Symbol.match; diff --git a/lib/node_modules/@stdlib/symbol/match/examples/index.js b/lib/node_modules/@stdlib/symbol/match/examples/index.js index fe419e8c5f7b..d92856194066 100644 --- a/lib/node_modules/@stdlib/symbol/match/examples/index.js +++ b/lib/node_modules/@stdlib/symbol/match/examples/index.js @@ -23,7 +23,7 @@ var MatchSymbol = require( '@stdlib/symbol/match' ); var regexp = /foo/; -// override the default `Symbol.match` behavior using stdlib's `MatchSymbol` + defineProperty( regexp, MatchSymbol, { 'configurable': true, 'enumerable': false, @@ -31,11 +31,10 @@ defineProperty( regexp, MatchSymbol, { 'value': false }); -// Without overriding MatchSymbol, this would normally throw an error in all engines: -// "/foo/".startsWith(regexp); console.log( "/foo/".startsWith( regexp ) ); // Expected output: true console.log( "/baz/".endsWith( regexp ) ); +// Expected output: false