aboutsummaryrefslogtreecommitdiff
path: root/node_modules/urijs/src/URI.fragmentQuery.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/urijs/src/URI.fragmentQuery.js')
-rw-r--r--node_modules/urijs/src/URI.fragmentQuery.js23
1 files changed, 20 insertions, 3 deletions
diff --git a/node_modules/urijs/src/URI.fragmentQuery.js b/node_modules/urijs/src/URI.fragmentQuery.js
index 4a73441db..1b8391c88 100644
--- a/node_modules/urijs/src/URI.fragmentQuery.js
+++ b/node_modules/urijs/src/URI.fragmentQuery.js
@@ -19,6 +19,10 @@
// uri.toString() === "http://example.org/#?bar=foo&name=value";
// uri.removeFragment("name");
// uri.toString() === "http://example.org/#?bar=foo";
+// uri.setFragment("name", "value1");
+// uri.toString() === "http://example.org/#?bar=foo&name=value1";
+// uri.setFragment("name", "value2");
+// uri.toString() === "http://example.org/#?bar=foo&name=value2";
(function (root, factory) {
'use strict';
@@ -57,12 +61,12 @@
p.fragment = function(v, build) {
var prefix = this._parts.fragmentPrefix;
var fragment = this._parts.fragment || '';
-
+
if (v === true) {
if (fragment.substring(0, prefix.length) !== prefix) {
return {};
}
-
+
return URI.parseQuery(fragment.substring(prefix.length));
} else if (v !== undefined && typeof v !== 'string') {
this._parts.fragment = prefix + URI.buildQuery(v);
@@ -96,9 +100,22 @@
this.build(!build);
return this;
};
+ p.setFragment = function(name, value, build) {
+ var prefix = this._parts.fragmentPrefix;
+ var data = URI.parseQuery((this._parts.fragment || '').substring(prefix.length));
+ URI.setQuery(data, name, value);
+ this._parts.fragment = prefix + URI.buildQuery(data);
+ if (typeof name !== 'string') {
+ build = value;
+ }
+
+ this.build(!build);
+ return this;
+ };
p.addHash = p.addFragment;
p.removeHash = p.removeFragment;
+ p.setHash = p.setFragment;
// extending existing object rather than defining something new
return URI;
-})); \ No newline at end of file
+}));