@hyperjump/json-pointer 0.9.4 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- define(function () { 'use strict';
1
+ define((function () { 'use strict';
2
2
 
3
3
  var justCurryIt = curry$1;
4
4
 
@@ -74,8 +74,15 @@ define(function () { 'use strict';
74
74
  if (pointer.length === 0) {
75
75
  return value;
76
76
  } else if (pointer.length > 1) {
77
- const segment = pointer.shift();
78
- return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
77
+ if (Array.isArray(subject)) {
78
+ const index = pointer.shift();
79
+ const clonedSubject = [...subject];
80
+ clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));
81
+ return clonedSubject;
82
+ } else {
83
+ const segment = pointer.shift();
84
+ return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
85
+ }
79
86
  } else if (Array.isArray(subject)) {
80
87
  const clonedSubject = [...subject];
81
88
  const segment = computeSegment(subject, pointer[0]);
@@ -177,5 +184,5 @@ define(function () { 'use strict';
177
184
 
178
185
  return lib;
179
186
 
180
- });
187
+ }));
181
188
  //# sourceMappingURL=json-pointer-amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-amd.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":";;MAAA,WAAc,GAAGA,OAAK,CAAC;AACvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA,SAASA,OAAK,CAAC,EAAE,EAAE,KAAK,EAAE;EAC1B,EAAE,OAAO,SAAS,OAAO,GAAG;EAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;EACvB,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC;EACxB,KAAK;EACL,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EACxC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;EAC9B,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClC,KAAK,MAAM;EACX,MAAM,OAAO,WAAW;EACxB,QAAQ,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EAC1E,OAAO,CAAC;EACR,KAAK;EACL,GAAG,CAAC;EACJ;;ECvCA,MAAM,KAAK,GAAGC,WAAwB,CAAC;AACvC;AACA;EACA,MAAM,GAAG,GAAG,EAAE,CAAC;AACf;EACA,MAAM,OAAO,GAAG,CAAC,OAAO,KAAK;EAC7B,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;EAChD,IAAI,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAC;EACxC,GAAG;AACH;EACA,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EACnD,CAAC,CAAC;AACF;EACA,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,KAAK;EAC5C,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/B;EACA,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK;EAClE,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;EAC7E,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB;EACA,EAAE,OAAO,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;EAC9C,CAAC,CAAC;AACF;EACA,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,KAAK;EACjE,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;EAC/B,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;EACvE,EAAE,OAAO,OAAO,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EACzD,CAAC,CAAC;AACF;EACA,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK;EAClD,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;EAC5B,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;EACjC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;EACpC,IAAI,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;EAC5H,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;EACrC,IAAI,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;EACvC,IAAI,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACxD,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;EACnC,IAAI,OAAO,aAAa,CAAC;EACzB,GAAG,MAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;EAC9D,IAAI,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;EAC/C,GAAG,MAAM;EACT,IAAI,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;EACrD,GAAG;EACH,CAAC,CAAC;AACF;EACA,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,KAAK;EACpE,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;EAC/B,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;EAC1E,EAAE,OAAO,OAAO,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EACzD,CAAC,CAAC;AACF;EACA,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK;EACrD,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;EAC5B,IAAI,OAAO;EACX,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EACzD,IAAI,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACxD,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;EAC7B,GAAG,MAAM;EACT,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;EACpC,IAAI,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;EAC7F,GAAG;EACH,CAAC,CAAC;AACF;EACA,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,KAAK;EAChD,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;EAC/B,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;EACpD,EAAE,OAAO,OAAO,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;EAClD,CAAC,CAAC;AACF;EACA,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK;EAC7C,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;EAC3B,IAAI,OAAO,SAAS,CAAC;EACrB,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;EACjC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;EACpC,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;EACzD,IAAI,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;EACtF,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;EACrC,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACzD,GAAG,MAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;EAC9D;EACA,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;EACnD,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG,MAAM;EACT,IAAI,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;EACrD,GAAG;EACH,CAAC,CAAC;AACF;EACA,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,KAAK;EACjD,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;EAC/B,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;EACrD,EAAE,OAAO,OAAO,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;EAClD,CAAC,CAAC;AACF;EACA,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK;EAC9C,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;EAC5B,IAAI,OAAO;EACX,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;EACjC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;EACpC,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;EACzD,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;EACrD,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;EACrC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClC,GAAG,MAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;EAC9D,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EAC/B,GAAG,MAAM;EACT,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;EAC9C,GAAG;EACH,CAAC,CAAC;AACF;EACA,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5E;EACA,MAAM,MAAM,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;EACxF,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;EACzF,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;AAC5G;EACA,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,KAAK;EACtD,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;EAC3B,IAAI,MAAM,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,2CAA2C,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACjG,GAAG,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE;EAC7B,IAAI,MAAM,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5F,GAAG,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;EAC9B,IAAI,MAAM,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACzG,GAAG,MAAM;EACT,IAAI,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EAC3D,IAAI,OAAO,KAAK,CAAC,eAAe,CAAC,CAAC;EAClC,GAAG;EACH,CAAC,CAAC;AACF;EACA,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACxE;MACA,GAAc,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;;;;;"}
1
+ {"version":3,"file":"json-pointer-amd.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- define((function(){"use strict";const e=function(e,t){return function r(){null==t&&(t=e.length);var n=[].slice.call(arguments);return n.length>=t?e.apply(this,n):function(){return r.apply(this,n.concat([].slice.call(arguments)))}}},t=e=>{if(e.length>0&&"/"!==e[0])throw Error("Invalid JSON Pointer");return e.split("/").slice(1).map(u)},r=(e,t,n,i)=>{if(0===e.length)return n;if(e.length>1){const o=e.shift();return{...t,[o]:r(e,c(t,o,i),n,l(o,i))}}if(Array.isArray(t)){const r=[...t];return r[a(t,e[0])]=n,r}return"object"==typeof t&&null!==t?{...t,[e[0]]:n}:c(t,e[0],i)},n=(e,t,r,i)=>{if(0!==e.length)if(1!==e.length||f(t)){const o=e.shift();n(e,c(t,o,i),r,l(o,i))}else{t[a(t,e[0])]=r}},i=(e,t,r)=>{if(0!=e.length){if(e.length>1){const n=e.shift(),o=c(t,n,r);return{...t,[n]:i(e,o,l(n,r))}}if(Array.isArray(t))return t.filter(((t,r)=>r!=e[0]));if("object"==typeof t&&null!==t){const{[e[0]]:r,...n}=t;return n}return c(t,e[0],r)}},o=(e,t,r)=>{if(0!==e.length)if(e.length>1){const n=e.shift(),i=c(t,n,r);o(e,i,l(n,r))}else Array.isArray(t)?t.splice(e[0],1):"object"==typeof t&&null!==t?delete t[e[0]]:c(t,e[0],r)},l=e(((e,t)=>t+"/"+s(e))),s=e=>e.toString().replace(/~/g,"~0").replace(/\//g,"~1"),u=e=>e.toString().replace(/~1/g,"/").replace(/~0/g,"~"),a=(e,t)=>Array.isArray(e)&&"-"===t?e.length:t,c=(e,t,r="")=>{if(void 0===e)throw TypeError(`Value at '${r}' is undefined and does not have property '${t}'`);if(null===e)throw TypeError(`Value at '${r}' is null and does not have property '${t}'`);if(f(e))throw TypeError(`Value at '${r}' is a ${typeof e} and does not have property '${t}'`);return e[a(e,t)]},f=e=>null===e||"object"!=typeof e;return{nil:"",append:l,get:(e,r)=>{const n=t(e),i=e=>n.reduce((([e,t],r)=>[c(e,r,t),l(r,t)]),[e,""])[0];return void 0===r?i:i(r)},set:(n,i,o)=>{const l=t(n),s=e(((e,t)=>r(l,e,t,"")));return void 0===i?s:s(i,o)},assign:(r,i,o)=>{const l=t(r),s=e(((e,t)=>n(l,e,t,"")));return void 0===i?s:s(i,o)},unset:(e,r)=>{const n=t(e),o=e=>i(n,e,"");return void 0===r?o:o(r)},remove:(e,r)=>{const n=t(e),i=e=>o(n,e,"");return void 0===r?i:i(r)}}}));
1
+ define((function(){"use strict";var r=function(r,t){return function e(){null==t&&(t=r.length);var n=[].slice.call(arguments);return n.length>=t?r.apply(this,n):function(){return e.apply(this,n.concat([].slice.call(arguments)))}}};const t=r,e=r=>{if(r.length>0&&"/"!==r[0])throw Error("Invalid JSON Pointer");return r.split("/").slice(1).map(u)},n=(r,t,e,i)=>{if(0===r.length)return e;if(r.length>1){if(Array.isArray(t)){const o=r.shift(),l=[...t];return l[o]=n(r,f(t,o,i),e,s(o,i)),l}{const o=r.shift();return{...t,[o]:n(r,f(t,o,i),e,s(o,i))}}}if(Array.isArray(t)){const n=[...t];return n[c(t,r[0])]=e,n}return"object"==typeof t&&null!==t?{...t,[r[0]]:e}:f(t,r[0],i)},i=(r,t,e,n)=>{if(0!==r.length)if(1!==r.length||p(t)){const o=r.shift();i(r,f(t,o,n),e,s(o,n))}else{t[c(t,r[0])]=e}},o=(r,t,e)=>{if(0!=r.length){if(r.length>1){const n=r.shift(),i=f(t,n,e);return{...t,[n]:o(r,i,s(n,e))}}if(Array.isArray(t))return t.filter(((t,e)=>e!=r[0]));if("object"==typeof t&&null!==t){const{[r[0]]:e,...n}=t;return n}return f(t,r[0],e)}},l=(r,t,e)=>{if(0!==r.length)if(r.length>1){const n=r.shift(),i=f(t,n,e);l(r,i,s(n,e))}else Array.isArray(t)?t.splice(r[0],1):"object"==typeof t&&null!==t?delete t[r[0]]:f(t,r[0],e)},s=t(((r,t)=>t+"/"+a(r))),a=r=>r.toString().replace(/~/g,"~0").replace(/\//g,"~1"),u=r=>r.toString().replace(/~1/g,"/").replace(/~0/g,"~"),c=(r,t)=>Array.isArray(r)&&"-"===t?r.length:t,f=(r,t,e="")=>{if(void 0===r)throw TypeError(`Value at '${e}' is undefined and does not have property '${t}'`);if(null===r)throw TypeError(`Value at '${e}' is null and does not have property '${t}'`);if(p(r))throw TypeError(`Value at '${e}' is a ${typeof r} and does not have property '${t}'`);return r[c(r,t)]},p=r=>null===r||"object"!=typeof r;return{nil:"",append:s,get:(r,t)=>{const n=e(r),i=r=>n.reduce((([r,t],e)=>[f(r,e,t),s(e,t)]),[r,""])[0];return void 0===t?i:i(t)},set:(r,i,o)=>{const l=e(r),s=t(((r,t)=>n(l,r,t,"")));return void 0===i?s:s(i,o)},assign:(r,n,o)=>{const l=e(r),s=t(((r,t)=>i(l,r,t,"")));return void 0===n?s:s(n,o)},unset:(r,t)=>{const n=e(r),i=r=>o(n,r,"");return void 0===t?i:i(t)},remove:(r,t)=>{const n=e(r),i=r=>l(n,r,"");return void 0===t?i:i(t)}}}));
2
2
  //# sourceMappingURL=json-pointer-amd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-amd.min.js","sources":["../lib/index.js","../node_modules/just-curry-it/index.js"],"sourcesContent":["const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n"],"names":["curry","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","segment","shift","applySegment","append","Array","isArray","clonedSubject","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-amd.min.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["justCurryIt","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","curry","require$$0","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","Array","isArray","index","shift","clonedSubject","applySegment","append","segment","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
@@ -74,8 +74,15 @@ const _set = (pointer, subject, value, cursor) => {
74
74
  if (pointer.length === 0) {
75
75
  return value;
76
76
  } else if (pointer.length > 1) {
77
- const segment = pointer.shift();
78
- return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
77
+ if (Array.isArray(subject)) {
78
+ const index = pointer.shift();
79
+ const clonedSubject = [...subject];
80
+ clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));
81
+ return clonedSubject;
82
+ } else {
83
+ const segment = pointer.shift();
84
+ return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
85
+ }
79
86
  } else if (Array.isArray(subject)) {
80
87
  const clonedSubject = [...subject];
81
88
  const segment = computeSegment(subject, pointer[0]);
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-cjs.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-cjs.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=function(e,r){return function t(){null==r&&(r=e.length);var n=[].slice.call(arguments);return n.length>=r?e.apply(this,n):function(){return t.apply(this,n.concat([].slice.call(arguments)))}}},r=e=>{if(e.length>0&&"/"!==e[0])throw Error("Invalid JSON Pointer");return e.split("/").slice(1).map(a)},t=(e,r,n,o)=>{if(0===e.length)return n;if(e.length>1){const i=e.shift();return{...r,[i]:t(e,c(r,i,o),n,l(i,o))}}if(Array.isArray(r)){const t=[...r];return t[u(r,e[0])]=n,t}return"object"==typeof r&&null!==r?{...r,[e[0]]:n}:c(r,e[0],o)},n=(e,r,t,o)=>{if(0!==e.length)if(1!==e.length||f(r)){const i=e.shift();n(e,c(r,i,o),t,l(i,o))}else{r[u(r,e[0])]=t}},o=(e,r,t)=>{if(0!=e.length){if(e.length>1){const n=e.shift(),i=c(r,n,t);return{...r,[n]:o(e,i,l(n,t))}}if(Array.isArray(r))return r.filter(((r,t)=>t!=e[0]));if("object"==typeof r&&null!==r){const{[e[0]]:t,...n}=r;return n}return c(r,e[0],t)}},i=(e,r,t)=>{if(0!==e.length)if(e.length>1){const n=e.shift(),o=c(r,n,t);i(e,o,l(n,t))}else Array.isArray(r)?r.splice(e[0],1):"object"==typeof r&&null!==r?delete r[e[0]]:c(r,e[0],t)},l=e(((e,r)=>r+"/"+s(e))),s=e=>e.toString().replace(/~/g,"~0").replace(/\//g,"~1"),a=e=>e.toString().replace(/~1/g,"/").replace(/~0/g,"~"),u=(e,r)=>Array.isArray(e)&&"-"===r?e.length:r,c=(e,r,t="")=>{if(void 0===e)throw TypeError(`Value at '${t}' is undefined and does not have property '${r}'`);if(null===e)throw TypeError(`Value at '${t}' is null and does not have property '${r}'`);if(f(e))throw TypeError(`Value at '${t}' is a ${typeof e} and does not have property '${r}'`);return e[u(e,r)]},f=e=>null===e||"object"!=typeof e;var p={nil:"",append:l,get:(e,t)=>{const n=r(e),o=e=>n.reduce((([e,r],t)=>[c(e,t,r),l(t,r)]),[e,""])[0];return void 0===t?o:o(t)},set:(n,o,i)=>{const l=r(n),s=e(((e,r)=>t(l,e,r,"")));return void 0===o?s:s(o,i)},assign:(t,o,i)=>{const l=r(t),s=e(((e,r)=>n(l,e,r,"")));return void 0===o?s:s(o,i)},unset:(e,t)=>{const n=r(e),i=e=>o(n,e,"");return void 0===t?i:i(t)},remove:(e,t)=>{const n=r(e),o=e=>i(n,e,"");return void 0===t?o:o(t)}};module.exports=p;
1
+ "use strict";const r=function(r,t){return function e(){null==t&&(t=r.length);var n=[].slice.call(arguments);return n.length>=t?r.apply(this,n):function(){return e.apply(this,n.concat([].slice.call(arguments)))}}},t=r=>{if(r.length>0&&"/"!==r[0])throw Error("Invalid JSON Pointer");return r.split("/").slice(1).map(a)},e=(r,t,n,o)=>{if(0===r.length)return n;if(r.length>1){if(Array.isArray(t)){const i=r.shift(),s=[...t];return s[i]=e(r,c(t,i,o),n,l(i,o)),s}{const i=r.shift();return{...t,[i]:e(r,c(t,i,o),n,l(i,o))}}}if(Array.isArray(t)){const e=[...t];return e[u(t,r[0])]=n,e}return"object"==typeof t&&null!==t?{...t,[r[0]]:n}:c(t,r[0],o)},n=(r,t,e,o)=>{if(0!==r.length)if(1!==r.length||f(t)){const i=r.shift();n(r,c(t,i,o),e,l(i,o))}else{t[u(t,r[0])]=e}},o=(r,t,e)=>{if(0!=r.length){if(r.length>1){const n=r.shift(),i=c(t,n,e);return{...t,[n]:o(r,i,l(n,e))}}if(Array.isArray(t))return t.filter(((t,e)=>e!=r[0]));if("object"==typeof t&&null!==t){const{[r[0]]:e,...n}=t;return n}return c(t,r[0],e)}},i=(r,t,e)=>{if(0!==r.length)if(r.length>1){const n=r.shift(),o=c(t,n,e);i(r,o,l(n,e))}else Array.isArray(t)?t.splice(r[0],1):"object"==typeof t&&null!==t?delete t[r[0]]:c(t,r[0],e)},l=r(((r,t)=>t+"/"+s(r))),s=r=>r.toString().replace(/~/g,"~0").replace(/\//g,"~1"),a=r=>r.toString().replace(/~1/g,"/").replace(/~0/g,"~"),u=(r,t)=>Array.isArray(r)&&"-"===t?r.length:t,c=(r,t,e="")=>{if(void 0===r)throw TypeError(`Value at '${e}' is undefined and does not have property '${t}'`);if(null===r)throw TypeError(`Value at '${e}' is null and does not have property '${t}'`);if(f(r))throw TypeError(`Value at '${e}' is a ${typeof r} and does not have property '${t}'`);return r[u(r,t)]},f=r=>null===r||"object"!=typeof r;var p={nil:"",append:l,get:(r,e)=>{const n=t(r),o=r=>n.reduce((([r,t],e)=>[c(r,e,t),l(e,t)]),[r,""])[0];return void 0===e?o:o(e)},set:(n,o,i)=>{const l=t(n),s=r(((r,t)=>e(l,r,t,"")));return void 0===o?s:s(o,i)},assign:(e,o,i)=>{const l=t(e),s=r(((r,t)=>n(l,r,t,"")));return void 0===o?s:s(o,i)},unset:(r,e)=>{const n=t(r),i=r=>o(n,r,"");return void 0===e?i:i(e)},remove:(r,e)=>{const n=t(r),o=r=>i(n,r,"");return void 0===e?o:o(e)}};module.exports=p;
2
2
  //# sourceMappingURL=json-pointer-cjs.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-cjs.min.js","sources":["../lib/index.js","../node_modules/just-curry-it/index.js"],"sourcesContent":["const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n"],"names":["curry","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","segment","shift","applySegment","append","Array","isArray","clonedSubject","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","lib","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-cjs.min.js","sources":["../lib/index.js","../node_modules/just-curry-it/index.js"],"sourcesContent":["const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n"],"names":["curry","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","Array","isArray","index","shift","clonedSubject","applySegment","append","segment","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","lib","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
@@ -72,8 +72,15 @@ const _set = (pointer, subject, value, cursor) => {
72
72
  if (pointer.length === 0) {
73
73
  return value;
74
74
  } else if (pointer.length > 1) {
75
- const segment = pointer.shift();
76
- return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
75
+ if (Array.isArray(subject)) {
76
+ const index = pointer.shift();
77
+ const clonedSubject = [...subject];
78
+ clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));
79
+ return clonedSubject;
80
+ } else {
81
+ const segment = pointer.shift();
82
+ return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
83
+ }
77
84
  } else if (Array.isArray(subject)) {
78
85
  const clonedSubject = [...subject];
79
86
  const segment = computeSegment(subject, pointer[0]);
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-esm.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-esm.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e=function(e,r){return function t(){null==r&&(r=e.length);var n=[].slice.call(arguments);return n.length>=r?e.apply(this,n):function(){return t.apply(this,n.concat([].slice.call(arguments)))}}},r=e=>{if(e.length>0&&"/"!==e[0])throw Error("Invalid JSON Pointer");return e.split("/").slice(1).map(a)},t=(e,r,n,o)=>{if(0===e.length)return n;if(e.length>1){const l=e.shift();return{...r,[l]:t(e,c(r,l,o),n,i(l,o))}}if(Array.isArray(r)){const t=[...r];return t[u(r,e[0])]=n,t}return"object"==typeof r&&null!==r?{...r,[e[0]]:n}:c(r,e[0],o)},n=(e,r,t,o)=>{if(0!==e.length)if(1!==e.length||f(r)){const l=e.shift();n(e,c(r,l,o),t,i(l,o))}else{r[u(r,e[0])]=t}},o=(e,r,t)=>{if(0!=e.length){if(e.length>1){const n=e.shift(),l=c(r,n,t);return{...r,[n]:o(e,l,i(n,t))}}if(Array.isArray(r))return r.filter(((r,t)=>t!=e[0]));if("object"==typeof r&&null!==r){const{[e[0]]:t,...n}=r;return n}return c(r,e[0],t)}},l=(e,r,t)=>{if(0!==e.length)if(e.length>1){const n=e.shift(),o=c(r,n,t);l(e,o,i(n,t))}else Array.isArray(r)?r.splice(e[0],1):"object"==typeof r&&null!==r?delete r[e[0]]:c(r,e[0],t)},i=e(((e,r)=>r+"/"+s(e))),s=e=>e.toString().replace(/~/g,"~0").replace(/\//g,"~1"),a=e=>e.toString().replace(/~1/g,"/").replace(/~0/g,"~"),u=(e,r)=>Array.isArray(e)&&"-"===r?e.length:r,c=(e,r,t="")=>{if(void 0===e)throw TypeError(`Value at '${t}' is undefined and does not have property '${r}'`);if(null===e)throw TypeError(`Value at '${t}' is null and does not have property '${r}'`);if(f(e))throw TypeError(`Value at '${t}' is a ${typeof e} and does not have property '${r}'`);return e[u(e,r)]},f=e=>null===e||"object"!=typeof e;var p={nil:"",append:i,get:(e,t)=>{const n=r(e),o=e=>n.reduce((([e,r],t)=>[c(e,t,r),i(t,r)]),[e,""])[0];return void 0===t?o:o(t)},set:(n,o,l)=>{const i=r(n),s=e(((e,r)=>t(i,e,r,"")));return void 0===o?s:s(o,l)},assign:(t,o,l)=>{const i=r(t),s=e(((e,r)=>n(i,e,r,"")));return void 0===o?s:s(o,l)},unset:(e,t)=>{const n=r(e),l=e=>o(n,e,"");return void 0===t?l:l(t)},remove:(e,t)=>{const n=r(e),o=e=>l(n,e,"");return void 0===t?o:o(t)}};export{p as default};
1
+ const r=function(r,t){return function e(){null==t&&(t=r.length);var n=[].slice.call(arguments);return n.length>=t?r.apply(this,n):function(){return e.apply(this,n.concat([].slice.call(arguments)))}}},t=r=>{if(r.length>0&&"/"!==r[0])throw Error("Invalid JSON Pointer");return r.split("/").slice(1).map(a)},e=(r,t,n,o)=>{if(0===r.length)return n;if(r.length>1){if(Array.isArray(t)){const i=r.shift(),s=[...t];return s[i]=e(r,c(t,i,o),n,l(i,o)),s}{const i=r.shift();return{...t,[i]:e(r,c(t,i,o),n,l(i,o))}}}if(Array.isArray(t)){const e=[...t];return e[u(t,r[0])]=n,e}return"object"==typeof t&&null!==t?{...t,[r[0]]:n}:c(t,r[0],o)},n=(r,t,e,o)=>{if(0!==r.length)if(1!==r.length||f(t)){const i=r.shift();n(r,c(t,i,o),e,l(i,o))}else{t[u(t,r[0])]=e}},o=(r,t,e)=>{if(0!=r.length){if(r.length>1){const n=r.shift(),i=c(t,n,e);return{...t,[n]:o(r,i,l(n,e))}}if(Array.isArray(t))return t.filter(((t,e)=>e!=r[0]));if("object"==typeof t&&null!==t){const{[r[0]]:e,...n}=t;return n}return c(t,r[0],e)}},i=(r,t,e)=>{if(0!==r.length)if(r.length>1){const n=r.shift(),o=c(t,n,e);i(r,o,l(n,e))}else Array.isArray(t)?t.splice(r[0],1):"object"==typeof t&&null!==t?delete t[r[0]]:c(t,r[0],e)},l=r(((r,t)=>t+"/"+s(r))),s=r=>r.toString().replace(/~/g,"~0").replace(/\//g,"~1"),a=r=>r.toString().replace(/~1/g,"/").replace(/~0/g,"~"),u=(r,t)=>Array.isArray(r)&&"-"===t?r.length:t,c=(r,t,e="")=>{if(void 0===r)throw TypeError(`Value at '${e}' is undefined and does not have property '${t}'`);if(null===r)throw TypeError(`Value at '${e}' is null and does not have property '${t}'`);if(f(r))throw TypeError(`Value at '${e}' is a ${typeof r} and does not have property '${t}'`);return r[u(r,t)]},f=r=>null===r||"object"!=typeof r;var p={nil:"",append:l,get:(r,e)=>{const n=t(r),o=r=>n.reduce((([r,t],e)=>[c(r,e,t),l(e,t)]),[r,""])[0];return void 0===e?o:o(e)},set:(n,o,i)=>{const l=t(n),s=r(((r,t)=>e(l,r,t,"")));return void 0===o?s:s(o,i)},assign:(e,o,i)=>{const l=t(e),s=r(((r,t)=>n(l,r,t,"")));return void 0===o?s:s(o,i)},unset:(r,e)=>{const n=t(r),i=r=>o(n,r,"");return void 0===e?i:i(e)},remove:(r,e)=>{const n=t(r),o=r=>i(n,r,"");return void 0===e?o:o(e)}};export{p as default};
2
2
  //# sourceMappingURL=json-pointer-esm.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-esm.min.js","sources":["../lib/index.js","../node_modules/just-curry-it/index.js"],"sourcesContent":["const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n"],"names":["curry","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","segment","shift","applySegment","append","Array","isArray","clonedSubject","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","lib","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-esm.min.js","sources":["../lib/index.js","../node_modules/just-curry-it/index.js"],"sourcesContent":["const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n"],"names":["curry","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","Array","isArray","index","shift","clonedSubject","applySegment","append","segment","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","lib","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
@@ -75,8 +75,15 @@ var JsonPointer = (function () {
75
75
  if (pointer.length === 0) {
76
76
  return value;
77
77
  } else if (pointer.length > 1) {
78
- const segment = pointer.shift();
79
- return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
78
+ if (Array.isArray(subject)) {
79
+ const index = pointer.shift();
80
+ const clonedSubject = [...subject];
81
+ clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));
82
+ return clonedSubject;
83
+ } else {
84
+ const segment = pointer.shift();
85
+ return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
86
+ }
80
87
  } else if (Array.isArray(subject)) {
81
88
  const clonedSubject = [...subject];
82
89
  const segment = computeSegment(subject, pointer[0]);
@@ -178,5 +185,5 @@ var JsonPointer = (function () {
178
185
 
179
186
  return lib;
180
187
 
181
- }());
188
+ })();
182
189
  //# sourceMappingURL=json-pointer-iife.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-iife.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-iife.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var JsonPointer=function(){"use strict";const r=function(r,t){return function e(){null==t&&(t=r.length);var n=[].slice.call(arguments);return n.length>=t?r.apply(this,n):function(){return e.apply(this,n.concat([].slice.call(arguments)))}}},t=r=>{if(r.length>0&&"/"!==r[0])throw Error("Invalid JSON Pointer");return r.split("/").slice(1).map(u)},e=(r,t,n,o)=>{if(0===r.length)return n;if(r.length>1){const i=r.shift();return{...t,[i]:e(r,c(t,i,o),n,l(i,o))}}if(Array.isArray(t)){const e=[...t];return e[a(t,r[0])]=n,e}return"object"==typeof t&&null!==t?{...t,[r[0]]:n}:c(t,r[0],o)},n=(r,t,e,o)=>{if(0!==r.length)if(1!==r.length||f(t)){const i=r.shift();n(r,c(t,i,o),e,l(i,o))}else{t[a(t,r[0])]=e}},o=(r,t,e)=>{if(0!=r.length){if(r.length>1){const n=r.shift(),i=c(t,n,e);return{...t,[n]:o(r,i,l(n,e))}}if(Array.isArray(t))return t.filter(((t,e)=>e!=r[0]));if("object"==typeof t&&null!==t){const{[r[0]]:e,...n}=t;return n}return c(t,r[0],e)}},i=(r,t,e)=>{if(0!==r.length)if(r.length>1){const n=r.shift(),o=c(t,n,e);i(r,o,l(n,e))}else Array.isArray(t)?t.splice(r[0],1):"object"==typeof t&&null!==t?delete t[r[0]]:c(t,r[0],e)},l=r(((r,t)=>t+"/"+s(r))),s=r=>r.toString().replace(/~/g,"~0").replace(/\//g,"~1"),u=r=>r.toString().replace(/~1/g,"/").replace(/~0/g,"~"),a=(r,t)=>Array.isArray(r)&&"-"===t?r.length:t,c=(r,t,e="")=>{if(void 0===r)throw TypeError(`Value at '${e}' is undefined and does not have property '${t}'`);if(null===r)throw TypeError(`Value at '${e}' is null and does not have property '${t}'`);if(f(r))throw TypeError(`Value at '${e}' is a ${typeof r} and does not have property '${t}'`);return r[a(r,t)]},f=r=>null===r||"object"!=typeof r;return{nil:"",append:l,get:(r,e)=>{const n=t(r),o=r=>n.reduce((([r,t],e)=>[c(r,e,t),l(e,t)]),[r,""])[0];return void 0===e?o:o(e)},set:(n,o,i)=>{const l=t(n),s=r(((r,t)=>e(l,r,t,"")));return void 0===o?s:s(o,i)},assign:(e,o,i)=>{const l=t(e),s=r(((r,t)=>n(l,r,t,"")));return void 0===o?s:s(o,i)},unset:(r,e)=>{const n=t(r),i=r=>o(n,r,"");return void 0===e?i:i(e)},remove:(r,e)=>{const n=t(r),o=r=>i(n,r,"");return void 0===e?o:o(e)}}}();
1
+ var JsonPointer=function(){"use strict";var r=function(r,t){return function e(){null==t&&(t=r.length);var n=[].slice.call(arguments);return n.length>=t?r.apply(this,n):function(){return e.apply(this,n.concat([].slice.call(arguments)))}}};const t=r,e=r=>{if(r.length>0&&"/"!==r[0])throw Error("Invalid JSON Pointer");return r.split("/").slice(1).map(u)},n=(r,t,e,i)=>{if(0===r.length)return e;if(r.length>1){if(Array.isArray(t)){const o=r.shift(),l=[...t];return l[o]=n(r,f(t,o,i),e,s(o,i)),l}{const o=r.shift();return{...t,[o]:n(r,f(t,o,i),e,s(o,i))}}}if(Array.isArray(t)){const n=[...t];return n[c(t,r[0])]=e,n}return"object"==typeof t&&null!==t?{...t,[r[0]]:e}:f(t,r[0],i)},i=(r,t,e,n)=>{if(0!==r.length)if(1!==r.length||p(t)){const o=r.shift();i(r,f(t,o,n),e,s(o,n))}else{t[c(t,r[0])]=e}},o=(r,t,e)=>{if(0!=r.length){if(r.length>1){const n=r.shift(),i=f(t,n,e);return{...t,[n]:o(r,i,s(n,e))}}if(Array.isArray(t))return t.filter(((t,e)=>e!=r[0]));if("object"==typeof t&&null!==t){const{[r[0]]:e,...n}=t;return n}return f(t,r[0],e)}},l=(r,t,e)=>{if(0!==r.length)if(r.length>1){const n=r.shift(),i=f(t,n,e);l(r,i,s(n,e))}else Array.isArray(t)?t.splice(r[0],1):"object"==typeof t&&null!==t?delete t[r[0]]:f(t,r[0],e)},s=t(((r,t)=>t+"/"+a(r))),a=r=>r.toString().replace(/~/g,"~0").replace(/\//g,"~1"),u=r=>r.toString().replace(/~1/g,"/").replace(/~0/g,"~"),c=(r,t)=>Array.isArray(r)&&"-"===t?r.length:t,f=(r,t,e="")=>{if(void 0===r)throw TypeError(`Value at '${e}' is undefined and does not have property '${t}'`);if(null===r)throw TypeError(`Value at '${e}' is null and does not have property '${t}'`);if(p(r))throw TypeError(`Value at '${e}' is a ${typeof r} and does not have property '${t}'`);return r[c(r,t)]},p=r=>null===r||"object"!=typeof r;return{nil:"",append:s,get:(r,t)=>{const n=e(r),i=r=>n.reduce((([r,t],e)=>[f(r,e,t),s(e,t)]),[r,""])[0];return void 0===t?i:i(t)},set:(r,i,o)=>{const l=e(r),s=t(((r,t)=>n(l,r,t,"")));return void 0===i?s:s(i,o)},assign:(r,n,o)=>{const l=e(r),s=t(((r,t)=>i(l,r,t,"")));return void 0===n?s:s(n,o)},unset:(r,t)=>{const n=e(r),i=r=>o(n,r,"");return void 0===t?i:i(t)},remove:(r,t)=>{const n=e(r),i=r=>l(n,r,"");return void 0===t?i:i(t)}}}();
2
2
  //# sourceMappingURL=json-pointer-iife.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-iife.min.js","sources":["../lib/index.js","../node_modules/just-curry-it/index.js"],"sourcesContent":["const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n"],"names":["curry","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","segment","shift","applySegment","append","Array","isArray","clonedSubject","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-iife.min.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["justCurryIt","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","curry","require$$0","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","Array","isArray","index","shift","clonedSubject","applySegment","append","segment","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- System.register('JsonPointer', [], function (exports) {
1
+ System.register('JsonPointer', [], (function (exports) {
2
2
  'use strict';
3
3
  return {
4
- execute: function () {
4
+ execute: (function () {
5
5
 
6
6
  var justCurryIt = curry$1;
7
7
 
@@ -77,8 +77,15 @@ System.register('JsonPointer', [], function (exports) {
77
77
  if (pointer.length === 0) {
78
78
  return value;
79
79
  } else if (pointer.length > 1) {
80
- const segment = pointer.shift();
81
- return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
80
+ if (Array.isArray(subject)) {
81
+ const index = pointer.shift();
82
+ const clonedSubject = [...subject];
83
+ clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));
84
+ return clonedSubject;
85
+ } else {
86
+ const segment = pointer.shift();
87
+ return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
88
+ }
82
89
  } else if (Array.isArray(subject)) {
83
90
  const clonedSubject = [...subject];
84
91
  const segment = computeSegment(subject, pointer[0]);
@@ -178,7 +185,7 @@ System.register('JsonPointer', [], function (exports) {
178
185
 
179
186
  var lib = exports('default', { nil, append, get, set, assign, unset, remove });
180
187
 
181
- }
188
+ })
182
189
  };
183
- });
190
+ }));
184
191
  //# sourceMappingURL=json-pointer-system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-system.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-system.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- System.register("JsonPointer",[],(function(e){"use strict";return{execute:function(){const t=function(e,t){return function r(){null==t&&(t=e.length);var n=[].slice.call(arguments);return n.length>=t?e.apply(this,n):function(){return r.apply(this,n.concat([].slice.call(arguments)))}}},r=e=>{if(e.length>0&&"/"!==e[0])throw Error("Invalid JSON Pointer");return e.split("/").slice(1).map(a)},n=(e,t,r,o)=>{if(0===e.length)return r;if(e.length>1){const i=e.shift();return{...t,[i]:n(e,f(t,i,o),r,s(i,o))}}if(Array.isArray(t)){const n=[...t];return n[c(t,e[0])]=r,n}return"object"==typeof t&&null!==t?{...t,[e[0]]:r}:f(t,e[0],o)},o=(e,t,r,n)=>{if(0!==e.length)if(1!==e.length||p(t)){const i=e.shift();o(e,f(t,i,n),r,s(i,n))}else{t[c(t,e[0])]=r}},i=(e,t,r)=>{if(0!=e.length){if(e.length>1){const n=e.shift(),o=f(t,n,r);return{...t,[n]:i(e,o,s(n,r))}}if(Array.isArray(t))return t.filter(((t,r)=>r!=e[0]));if("object"==typeof t&&null!==t){const{[e[0]]:r,...n}=t;return n}return f(t,e[0],r)}},l=(e,t,r)=>{if(0!==e.length)if(e.length>1){const n=e.shift(),o=f(t,n,r);l(e,o,s(n,r))}else Array.isArray(t)?t.splice(e[0],1):"object"==typeof t&&null!==t?delete t[e[0]]:f(t,e[0],r)},s=t(((e,t)=>t+"/"+u(e))),u=e=>e.toString().replace(/~/g,"~0").replace(/\//g,"~1"),a=e=>e.toString().replace(/~1/g,"/").replace(/~0/g,"~"),c=(e,t)=>Array.isArray(e)&&"-"===t?e.length:t,f=(e,t,r="")=>{if(void 0===e)throw TypeError(`Value at '${r}' is undefined and does not have property '${t}'`);if(null===e)throw TypeError(`Value at '${r}' is null and does not have property '${t}'`);if(p(e))throw TypeError(`Value at '${r}' is a ${typeof e} and does not have property '${t}'`);return e[c(e,t)]},p=e=>null===e||"object"!=typeof e;e("default",{nil:"",append:s,get:(e,t)=>{const n=r(e),o=e=>n.reduce((([e,t],r)=>[f(e,r,t),s(r,t)]),[e,""])[0];return void 0===t?o:o(t)},set:(e,o,i)=>{const l=r(e),s=t(((e,t)=>n(l,e,t,"")));return void 0===o?s:s(o,i)},assign:(e,n,i)=>{const l=r(e),s=t(((e,t)=>o(l,e,t,"")));return void 0===n?s:s(n,i)},unset:(e,t)=>{const n=r(e),o=e=>i(n,e,"");return void 0===t?o:o(t)},remove:(e,t)=>{const n=r(e),o=e=>l(n,e,"");return void 0===t?o:o(t)}})}}}));
1
+ System.register("JsonPointer",[],(function(r){"use strict";return{execute:function(){var t=function(r,t){return function e(){null==t&&(t=r.length);var n=[].slice.call(arguments);return n.length>=t?r.apply(this,n):function(){return e.apply(this,n.concat([].slice.call(arguments)))}}};const e=t,n=r=>{if(r.length>0&&"/"!==r[0])throw Error("Invalid JSON Pointer");return r.split("/").slice(1).map(c)},i=(r,t,e,n)=>{if(0===r.length)return e;if(r.length>1){if(Array.isArray(t)){const o=r.shift(),l=[...t];return l[o]=i(r,p(t,o,n),e,u(o,n)),l}{const o=r.shift();return{...t,[o]:i(r,p(t,o,n),e,u(o,n))}}}if(Array.isArray(t)){const n=[...t];return n[f(t,r[0])]=e,n}return"object"==typeof t&&null!==t?{...t,[r[0]]:e}:p(t,r[0],n)},o=(r,t,e,n)=>{if(0!==r.length)if(1!==r.length||h(t)){const i=r.shift();o(r,p(t,i,n),e,u(i,n))}else{t[f(t,r[0])]=e}},l=(r,t,e)=>{if(0!=r.length){if(r.length>1){const n=r.shift(),i=p(t,n,e);return{...t,[n]:l(r,i,u(n,e))}}if(Array.isArray(t))return t.filter(((t,e)=>e!=r[0]));if("object"==typeof t&&null!==t){const{[r[0]]:e,...n}=t;return n}return p(t,r[0],e)}},s=(r,t,e)=>{if(0!==r.length)if(r.length>1){const n=r.shift(),i=p(t,n,e);s(r,i,u(n,e))}else Array.isArray(t)?t.splice(r[0],1):"object"==typeof t&&null!==t?delete t[r[0]]:p(t,r[0],e)},u=e(((r,t)=>t+"/"+a(r))),a=r=>r.toString().replace(/~/g,"~0").replace(/\//g,"~1"),c=r=>r.toString().replace(/~1/g,"/").replace(/~0/g,"~"),f=(r,t)=>Array.isArray(r)&&"-"===t?r.length:t,p=(r,t,e="")=>{if(void 0===r)throw TypeError(`Value at '${e}' is undefined and does not have property '${t}'`);if(null===r)throw TypeError(`Value at '${e}' is null and does not have property '${t}'`);if(h(r))throw TypeError(`Value at '${e}' is a ${typeof r} and does not have property '${t}'`);return r[f(r,t)]},h=r=>null===r||"object"!=typeof r;r("default",{nil:"",append:u,get:(r,t)=>{const e=n(r),i=r=>e.reduce((([r,t],e)=>[p(r,e,t),u(e,t)]),[r,""])[0];return void 0===t?i:i(t)},set:(r,t,o)=>{const l=n(r),s=e(((r,t)=>i(l,r,t,"")));return void 0===t?s:s(t,o)},assign:(r,t,i)=>{const l=n(r),s=e(((r,t)=>o(l,r,t,"")));return void 0===t?s:s(t,i)},unset:(r,t)=>{const e=n(r),i=r=>l(e,r,"");return void 0===t?i:i(t)},remove:(r,t)=>{const e=n(r),i=r=>s(e,r,"");return void 0===t?i:i(t)}})}}}));
2
2
  //# sourceMappingURL=json-pointer-system.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-system.min.js","sources":["../lib/index.js","../node_modules/just-curry-it/index.js"],"sourcesContent":["const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n"],"names":["curry","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","segment","shift","applySegment","append","Array","isArray","clonedSubject","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"qFAAA,MAAMA,ECyBN,SAAeC,EAAIC,GACjB,OAAO,SAASC,IACD,MAATD,IACFA,EAAQD,EAAGG,QAEb,IAAIC,EAAO,GAAGC,MAAMC,KAAKC,WACzB,OAAIH,EAAKD,QAAUF,EACVD,EAAGQ,MAAMC,KAAML,GAEf,WACL,OAAOF,EAAQM,MAAMC,KAAML,EAAKM,OAAO,GAAGL,MAAMC,KAAKC,gBD9BvDI,EAAWC,IACf,GAAIA,EAAQT,OAAS,GAAoB,MAAfS,EAAQ,GAChC,MAAMC,MAAM,wBAGd,OAAOD,EAAQE,MAAM,KAAKT,MAAM,GAAGU,IAAIC,IAmBnCC,EAAO,CAACL,EAASM,EAASC,EAAOC,KACrC,GAAuB,IAAnBR,EAAQT,OACV,OAAOgB,EACF,GAAIP,EAAQT,OAAS,EAAG,CAC7B,MAAMkB,EAAUT,EAAQU,QACxB,MAAO,IAAKJ,EAASG,CAACA,GAAUJ,EAAKL,EAASW,EAAaL,EAASG,EAASD,GAASD,EAAOK,EAAOH,EAASD,KACxG,GAAIK,MAAMC,QAAQR,GAAU,CACjC,MAAMS,EAAgB,IAAIT,GAG1B,OADAS,EADgBC,EAAeV,EAASN,EAAQ,KACvBO,EAClBQ,EACF,MAAuB,iBAAZT,GAAoC,OAAZA,EACjC,IAAKA,EAAS,CAACN,EAAQ,IAAKO,GAE5BI,EAAaL,EAASN,EAAQ,GAAIQ,IAUvCS,EAAU,CAACjB,EAASM,EAASC,EAAOC,KACxC,GAAuB,IAAnBR,EAAQT,OAEL,GAAuB,IAAnBS,EAAQT,QAAiB2B,EAASZ,GAGtC,CACL,MAAMG,EAAUT,EAAQU,QACxBO,EAAQjB,EAASW,EAAaL,EAASG,EAASD,GAASD,EAAOK,EAAOH,EAASD,QAL3B,CAErDF,EADgBU,EAAeV,EAASN,EAAQ,KAC7BO,IAajBY,EAAS,CAACnB,EAASM,EAASE,KAChC,GAAsB,GAAlBR,EAAQT,OAAZ,CAEO,GAAIS,EAAQT,OAAS,EAAG,CAC7B,MAAMkB,EAAUT,EAAQU,QAClBH,EAAQI,EAAaL,EAASG,EAASD,GAC7C,MAAO,IAAKF,EAASG,CAACA,GAAUU,EAAOnB,EAASO,EAAOK,EAAOH,EAASD,KAClE,GAAIK,MAAMC,QAAQR,GACvB,OAAOA,EAAQc,QAAO,CAACC,EAAGC,IAAQA,GAAOtB,EAAQ,KAC5C,GAAuB,iBAAZM,GAAoC,OAAZA,EAAkB,CAE1D,MAAQ,CAACN,EAAQ,IAAKqB,KAAME,GAAWjB,EACvC,OAAOiB,EAEP,OAAOZ,EAAaL,EAASN,EAAQ,GAAIQ,KAUvCgB,EAAU,CAACxB,EAASM,EAASE,KACjC,GAAuB,IAAnBR,EAAQT,OAEL,GAAIS,EAAQT,OAAS,EAAG,CAC7B,MAAMkB,EAAUT,EAAQU,QAClBH,EAAQI,EAAaL,EAASG,EAASD,GAC7CgB,EAAQxB,EAASO,EAAOK,EAAOH,EAASD,SAC/BK,MAAMC,QAAQR,GACvBA,EAAQmB,OAAOzB,EAAQ,GAAI,GACC,iBAAZM,GAAoC,OAAZA,SACjCA,EAAQN,EAAQ,IAEvBW,EAAaL,EAASN,EAAQ,GAAIQ,IAIhCI,EAASzB,GAAM,CAACsB,EAAST,IAAYA,EAAU,IAAM0B,EAAOjB,KAE5DiB,EAAUjB,GAAYA,EAAQkB,WAAWC,QAAQ,KAAM,MAAMA,QAAQ,MAAO,MAC5ExB,EAAYK,GAAYA,EAAQkB,WAAWC,QAAQ,MAAO,KAAKA,QAAQ,MAAO,KAC9EZ,EAAiB,CAACT,EAAOE,IAAYI,MAAMC,QAAQP,IAAsB,MAAZE,EAAkBF,EAAMhB,OAASkB,EAE9FE,EAAe,CAACJ,EAAOE,EAASD,EAAS,MAC7C,QAAcqB,IAAVtB,EACF,MAAMuB,UAAU,aAAatB,+CAAoDC,MAC5E,GAAc,OAAVF,EACT,MAAMuB,UAAU,aAAatB,0CAA+CC,MACvE,GAAIS,EAASX,GAClB,MAAMuB,UAAU,aAAatB,kBAAuBD,iCAAqCE,MAGzF,OAAOF,EADiBS,EAAeT,EAAOE,KAK5CS,EAAYX,GAAoB,OAAVA,GAAmC,iBAAVA,cAEpC,CAAEwB,IAjIP,GAiIYnB,OAAAA,EAAQoB,IAvHpB,CAAChC,EAASO,KACpB,MAAM0B,EAAMlC,EAAQC,GAEdZ,EAAMmB,GAAU0B,EAAIC,QAAO,EAAE3B,EAAOP,GAAUS,IAC3C,CAACE,EAAaJ,EAAOE,EAAST,GAAUY,EAAOH,EAAST,KAC9D,CAACO,EAAO,KAAK,GAEhB,YAAiBsB,IAAVtB,EAAsBnB,EAAKA,EAAGmB,IAgHF4B,IA7GzB,CAACnC,EAASM,EAAqBC,KACzC,MAAM0B,EAAMlC,EAAQC,GACdZ,EAAKD,GAAM,CAACmB,EAASC,IAAUF,EAAK4B,EAAK3B,EAASC,EAtB9C,MAuBV,YAAmBsB,IAAZvB,EAAwBlB,EAAKA,EAAGkB,EAASC,IA0GR6B,OArF3B,CAACpC,EAASM,EAAqBC,KAC5C,MAAM0B,EAAMlC,EAAQC,GACdZ,EAAKD,GAAM,CAACmB,EAASC,IAAUU,EAAQgB,EAAK3B,EAASC,EA9CjD,MA+CV,YAAmBsB,IAAZvB,EAAwBlB,EAAKA,EAAGkB,EAASC,IAkFA8B,MAnEpC,CAACrC,EAASM,KACtB,MAAM2B,EAAMlC,EAAQC,GACdZ,EAAMkB,GAAYa,EAAOc,EAAK3B,EAhE1B,IAiEV,YAAmBuB,IAAZvB,EAAwBlB,EAAKA,EAAGkB,IAgEgBgC,OA3C1C,CAACtC,EAASM,KACvB,MAAM2B,EAAMlC,EAAQC,GACdZ,EAAMkB,GAAYkB,EAAQS,EAAK3B,EAxF3B,IAyFV,YAAmBuB,IAAZvB,EAAwBlB,EAAKA,EAAGkB"}
1
+ {"version":3,"file":"json-pointer-system.min.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["justCurryIt","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","curry","require$$0","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","Array","isArray","index","shift","clonedSubject","applySegment","append","segment","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","exports","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
3
  typeof define === 'function' && define.amd ? define(factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.JsonPointer = factory());
5
- }(this, (function () { 'use strict';
5
+ })(this, (function () { 'use strict';
6
6
 
7
7
  var justCurryIt = curry$1;
8
8
 
@@ -78,8 +78,15 @@
78
78
  if (pointer.length === 0) {
79
79
  return value;
80
80
  } else if (pointer.length > 1) {
81
- const segment = pointer.shift();
82
- return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
81
+ if (Array.isArray(subject)) {
82
+ const index = pointer.shift();
83
+ const clonedSubject = [...subject];
84
+ clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));
85
+ return clonedSubject;
86
+ } else {
87
+ const segment = pointer.shift();
88
+ return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
89
+ }
83
90
  } else if (Array.isArray(subject)) {
84
91
  const clonedSubject = [...subject];
85
92
  const segment = computeSegment(subject, pointer[0]);
@@ -181,5 +188,5 @@
181
188
 
182
189
  return lib;
183
190
 
184
- })));
191
+ }));
185
192
  //# sourceMappingURL=json-pointer-umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-umd.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-umd.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["curry","require$$0"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).JsonPointer=t()}(this,(function(){"use strict";const e=function(e,t){return function r(){null==t&&(t=e.length);var n=[].slice.call(arguments);return n.length>=t?e.apply(this,n):function(){return r.apply(this,n.concat([].slice.call(arguments)))}}},t=e=>{if(e.length>0&&"/"!==e[0])throw Error("Invalid JSON Pointer");return e.split("/").slice(1).map(u)},r=(e,t,n,o)=>{if(0===e.length)return n;if(e.length>1){const i=e.shift();return{...t,[i]:r(e,a(t,i,o),n,l(i,o))}}if(Array.isArray(t)){const r=[...t];return r[f(t,e[0])]=n,r}return"object"==typeof t&&null!==t?{...t,[e[0]]:n}:a(t,e[0],o)},n=(e,t,r,o)=>{if(0!==e.length)if(1!==e.length||c(t)){const i=e.shift();n(e,a(t,i,o),r,l(i,o))}else{t[f(t,e[0])]=r}},o=(e,t,r)=>{if(0!=e.length){if(e.length>1){const n=e.shift(),i=a(t,n,r);return{...t,[n]:o(e,i,l(n,r))}}if(Array.isArray(t))return t.filter(((t,r)=>r!=e[0]));if("object"==typeof t&&null!==t){const{[e[0]]:r,...n}=t;return n}return a(t,e[0],r)}},i=(e,t,r)=>{if(0!==e.length)if(e.length>1){const n=e.shift(),o=a(t,n,r);i(e,o,l(n,r))}else Array.isArray(t)?t.splice(e[0],1):"object"==typeof t&&null!==t?delete t[e[0]]:a(t,e[0],r)},l=e(((e,t)=>t+"/"+s(e))),s=e=>e.toString().replace(/~/g,"~0").replace(/\//g,"~1"),u=e=>e.toString().replace(/~1/g,"/").replace(/~0/g,"~"),f=(e,t)=>Array.isArray(e)&&"-"===t?e.length:t,a=(e,t,r="")=>{if(void 0===e)throw TypeError(`Value at '${r}' is undefined and does not have property '${t}'`);if(null===e)throw TypeError(`Value at '${r}' is null and does not have property '${t}'`);if(c(e))throw TypeError(`Value at '${r}' is a ${typeof e} and does not have property '${t}'`);return e[f(e,t)]},c=e=>null===e||"object"!=typeof e;return{nil:"",append:l,get:(e,r)=>{const n=t(e),o=e=>n.reduce((([e,t],r)=>[a(e,r,t),l(r,t)]),[e,""])[0];return void 0===r?o:o(r)},set:(n,o,i)=>{const l=t(n),s=e(((e,t)=>r(l,e,t,"")));return void 0===o?s:s(o,i)},assign:(r,o,i)=>{const l=t(r),s=e(((e,t)=>n(l,e,t,"")));return void 0===o?s:s(o,i)},unset:(e,r)=>{const n=t(e),i=e=>o(n,e,"");return void 0===r?i:i(r)},remove:(e,r)=>{const n=t(e),o=e=>i(n,e,"");return void 0===r?o:o(r)}}}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).JsonPointer=t()}(this,(function(){"use strict";var e=function(e,t){return function r(){null==t&&(t=e.length);var n=[].slice.call(arguments);return n.length>=t?e.apply(this,n):function(){return r.apply(this,n.concat([].slice.call(arguments)))}}};const t=e,r=e=>{if(e.length>0&&"/"!==e[0])throw Error("Invalid JSON Pointer");return e.split("/").slice(1).map(u)},n=(e,t,r,o)=>{if(0===e.length)return r;if(e.length>1){if(Array.isArray(t)){const i=e.shift(),l=[...t];return l[i]=n(e,c(t,i,o),r,s(i,o)),l}{const i=e.shift();return{...t,[i]:n(e,c(t,i,o),r,s(i,o))}}}if(Array.isArray(t)){const n=[...t];return n[a(t,e[0])]=r,n}return"object"==typeof t&&null!==t?{...t,[e[0]]:r}:c(t,e[0],o)},o=(e,t,r,n)=>{if(0!==e.length)if(1!==e.length||p(t)){const i=e.shift();o(e,c(t,i,n),r,s(i,n))}else{t[a(t,e[0])]=r}},i=(e,t,r)=>{if(0!=e.length){if(e.length>1){const n=e.shift(),o=c(t,n,r);return{...t,[n]:i(e,o,s(n,r))}}if(Array.isArray(t))return t.filter(((t,r)=>r!=e[0]));if("object"==typeof t&&null!==t){const{[e[0]]:r,...n}=t;return n}return c(t,e[0],r)}},l=(e,t,r)=>{if(0!==e.length)if(e.length>1){const n=e.shift(),o=c(t,n,r);l(e,o,s(n,r))}else Array.isArray(t)?t.splice(e[0],1):"object"==typeof t&&null!==t?delete t[e[0]]:c(t,e[0],r)},s=t(((e,t)=>t+"/"+f(e))),f=e=>e.toString().replace(/~/g,"~0").replace(/\//g,"~1"),u=e=>e.toString().replace(/~1/g,"/").replace(/~0/g,"~"),a=(e,t)=>Array.isArray(e)&&"-"===t?e.length:t,c=(e,t,r="")=>{if(void 0===e)throw TypeError(`Value at '${r}' is undefined and does not have property '${t}'`);if(null===e)throw TypeError(`Value at '${r}' is null and does not have property '${t}'`);if(p(e))throw TypeError(`Value at '${r}' is a ${typeof e} and does not have property '${t}'`);return e[a(e,t)]},p=e=>null===e||"object"!=typeof e;return{nil:"",append:s,get:(e,t)=>{const n=r(e),o=e=>n.reduce((([e,t],r)=>[c(e,r,t),s(r,t)]),[e,""])[0];return void 0===t?o:o(t)},set:(e,o,i)=>{const l=r(e),s=t(((e,t)=>n(l,e,t,"")));return void 0===o?s:s(o,i)},assign:(e,n,i)=>{const l=r(e),s=t(((e,t)=>o(l,e,t,"")));return void 0===n?s:s(n,i)},unset:(e,t)=>{const n=r(e),o=e=>i(n,e,"");return void 0===t?o:o(t)},remove:(e,t)=>{const n=r(e),o=e=>l(n,e,"");return void 0===t?o:o(t)}}}));
2
2
  //# sourceMappingURL=json-pointer-umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer-umd.min.js","sources":["../lib/index.js","../node_modules/just-curry-it/index.js"],"sourcesContent":["const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n"],"names":["curry","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","segment","shift","applySegment","append","Array","isArray","clonedSubject","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer-umd.min.js","sources":["../node_modules/just-curry-it/index.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n if (Array.isArray(subject)) {\n const index = pointer.shift();\n const clonedSubject = [...subject];\n clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));\n return clonedSubject;\n } else {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n }\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n"],"names":["justCurryIt","fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","curry","require$$0","compile","pointer","Error","split","map","unescape","_set","subject","value","cursor","Array","isArray","index","shift","clonedSubject","applySegment","append","segment","computeSegment","_assign","isScalar","_unset","filter","_","ndx","result","_remove","splice","escape","toString","replace","undefined","TypeError","nil","get","ptr","reduce","set","assign","unset","remove"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -31,8 +31,15 @@ const _set = (pointer, subject, value, cursor) => {
31
31
  if (pointer.length === 0) {
32
32
  return value;
33
33
  } else if (pointer.length > 1) {
34
- const segment = pointer.shift();
35
- return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
34
+ if (Array.isArray(subject)) {
35
+ const index = pointer.shift();
36
+ const clonedSubject = [...subject];
37
+ clonedSubject[index] = _set(pointer, applySegment(subject, index, cursor), value, append(index, cursor));
38
+ return clonedSubject;
39
+ } else {
40
+ const segment = pointer.shift();
41
+ return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };
42
+ }
36
43
  } else if (Array.isArray(subject)) {
37
44
  const clonedSubject = [...subject];
38
45
  const segment = computeSegment(subject, pointer[0]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperjump/json-pointer",
3
- "version": "0.9.4",
3
+ "version": "0.9.5",
4
4
  "description": "An RFC-6901 JSON Pointer implementation",
5
5
  "main": "lib/index.js",
6
6
  "exports": {
@@ -27,25 +27,25 @@
27
27
  "url": "https://github.com/sponsors/jdesrosiers"
28
28
  },
29
29
  "devDependencies": {
30
- "@rollup/plugin-commonjs": "^20.0.0",
31
- "@rollup/plugin-node-resolve": "^13.0.4",
32
- "@types/chai": "^4.2.21",
33
- "@types/mocha": "^9.0.0",
34
- "@typescript-eslint/eslint-plugin": "^4.29.3",
35
- "@typescript-eslint/parser": "^4.29.3",
36
- "chai": "^4.3.4",
37
- "eslint": "^7.32.0",
38
- "eslint-import-resolver-node": "^0.3.6",
39
- "eslint-import-resolver-typescript": "^2.4.0",
40
- "eslint-plugin-import": "^2.24.2",
41
- "mocha": "^9.1.1",
42
- "rimraf": "^3.0.2",
43
- "rollup": "^2.56.3",
44
- "rollup-plugin-terser": "^7.0.2",
45
- "ts-node": "^10.2.1",
46
- "typescript": "^4.4.2"
30
+ "@rollup/plugin-commonjs": "*",
31
+ "@rollup/plugin-node-resolve": "*",
32
+ "@types/chai": "*",
33
+ "@types/mocha": "*",
34
+ "@typescript-eslint/eslint-plugin": "*",
35
+ "@typescript-eslint/parser": "*",
36
+ "chai": "*",
37
+ "eslint": "*",
38
+ "eslint-import-resolver-node": "*",
39
+ "eslint-import-resolver-typescript": "*",
40
+ "eslint-plugin-import": "*",
41
+ "mocha": "*",
42
+ "rimraf": "*",
43
+ "rollup": "*",
44
+ "rollup-plugin-terser": "*",
45
+ "ts-node": "*",
46
+ "typescript": "*"
47
47
  },
48
48
  "dependencies": {
49
- "just-curry-it": "^3.2.1"
49
+ "just-curry-it": "^5.2.1"
50
50
  }
51
51
  }