@ezez/utils 3.0.0 → 4.0.0
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.
- package/CHANGELOG.md +20 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/omit.d.ts +1 -1
- package/dist/omit.d.ts.map +1 -1
- package/dist/omit.js.map +1 -1
- package/dist/replaceDeep.d.ts +5 -1
- package/dist/replaceDeep.d.ts.map +1 -1
- package/dist/replaceDeep.js +3 -20
- package/dist/replaceDeep.js.map +1 -1
- package/dist/replaceDeepByFn.d.ts +7 -0
- package/dist/replaceDeepByFn.d.ts.map +1 -0
- package/dist/replaceDeepByFn.js +47 -0
- package/dist/replaceDeepByFn.js.map +1 -0
- package/dist/serialize.d.ts.map +1 -1
- package/dist/serialize.js +56 -18
- package/dist/serialize.js.map +1 -1
- package/dist/trim.d.ts +3 -0
- package/dist/trim.d.ts.map +1 -0
- package/dist/trim.js +10 -0
- package/dist/trim.js.map +1 -0
- package/dist/trimEnd.d.ts +3 -0
- package/dist/trimEnd.d.ts.map +1 -0
- package/dist/trimEnd.js +12 -0
- package/dist/trimEnd.js.map +1 -0
- package/dist/trimStart.d.ts +3 -0
- package/dist/trimStart.d.ts.map +1 -0
- package/dist/trimStart.js +12 -0
- package/dist/trimStart.js.map +1 -0
- package/dist/utils/utils.d.ts +6 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +10 -0
- package/dist/utils/utils.js.map +1 -0
- package/docs/assets/search.js +1 -1
- package/docs/functions/cap.html +8 -5
- package/docs/functions/capitalize.html +8 -5
- package/docs/functions/coalesce.html +8 -5
- package/docs/functions/compareArrays.html +8 -5
- package/docs/functions/compareProps.html +8 -5
- package/docs/functions/deserialize.html +8 -5
- package/docs/functions/ensureArray.html +8 -5
- package/docs/functions/ensureDate.html +8 -5
- package/docs/functions/ensureError.html +8 -5
- package/docs/functions/ensurePrefix.html +8 -5
- package/docs/functions/ensureSuffix.html +8 -5
- package/docs/functions/ensureTimestamp.html +8 -5
- package/docs/functions/escapeRegExp.html +8 -5
- package/docs/functions/formatDate.html +8 -5
- package/docs/functions/get.html +8 -5
- package/docs/functions/getMultiple.html +8 -5
- package/docs/functions/insertSeparator.html +8 -5
- package/docs/functions/isEmpty.html +8 -5
- package/docs/functions/isNumericString.html +8 -5
- package/docs/functions/isPlainObject.html +8 -5
- package/docs/functions/last.html +8 -5
- package/docs/functions/later-1.html +8 -5
- package/docs/functions/mapAsync.html +8 -5
- package/docs/functions/mapValues.html +8 -5
- package/docs/functions/match.html +8 -5
- package/docs/functions/merge.html +16 -13
- package/docs/functions/mostFrequent.html +8 -5
- package/docs/functions/noop.html +8 -5
- package/docs/functions/occurrences.html +8 -5
- package/docs/functions/omit.html +14 -7
- package/docs/functions/pick.html +9 -6
- package/docs/functions/pull.html +8 -5
- package/docs/functions/remove.html +8 -5
- package/docs/functions/removeCommonProperties.html +8 -5
- package/docs/functions/replace.html +8 -5
- package/docs/functions/replaceDeep.html +19 -7
- package/docs/functions/rethrow.html +8 -5
- package/docs/functions/round.html +8 -5
- package/docs/functions/safe.html +9 -6
- package/docs/functions/sample.html +8 -5
- package/docs/functions/samples.html +8 -5
- package/docs/functions/scale.html +8 -5
- package/docs/functions/seq.html +8 -5
- package/docs/functions/seqEarlyBreak.html +8 -5
- package/docs/functions/serialize.html +8 -5
- package/docs/functions/set.html +8 -5
- package/docs/functions/setImmutable.html +8 -5
- package/docs/functions/shuffle.html +8 -5
- package/docs/functions/sortBy.html +8 -5
- package/docs/functions/sortProps.html +8 -5
- package/docs/functions/stripPrefix.html +8 -5
- package/docs/functions/stripSuffix.html +8 -5
- package/docs/functions/throttle.html +8 -5
- package/docs/functions/toggle.html +8 -5
- package/docs/functions/trim.html +152 -0
- package/docs/functions/trimEnd.html +152 -0
- package/docs/functions/trimStart.html +152 -0
- package/docs/functions/truthy.html +8 -5
- package/docs/functions/unique.html +8 -5
- package/docs/functions/wait.html +8 -5
- package/docs/functions/waitFor.html +8 -5
- package/docs/functions/waitSync.html +8 -5
- package/docs/index.html +7 -4
- package/docs/interfaces/ComparePropsOptions.html +6 -6
- package/docs/interfaces/GetMultipleSource.html +8 -5
- package/docs/interfaces/GetSource.html +8 -5
- package/docs/interfaces/IsNumericStringOptions.html +9 -9
- package/docs/interfaces/OccurencesOptions.html +6 -6
- package/docs/interfaces/SetImmutableSource.html +8 -5
- package/docs/interfaces/SetSource.html +8 -5
- package/docs/interfaces/ThrottleOptions.html +7 -7
- package/docs/interfaces/ThrottledFunctionExtras.html +7 -7
- package/docs/modules.html +10 -4
- package/docs/pages/CHANGELOG.html +113 -64
- package/docs/pages/Introduction.html +7 -4
- package/docs/types/CustomDeserializers.html +8 -5
- package/docs/types/CustomSerializers.html +8 -5
- package/docs/types/Later.html +8 -5
- package/docs/types/MapValuesFn.html +8 -5
- package/docs/types/MatchCallback.html +8 -5
- package/docs/types/SeqEarlyBreaker.html +8 -5
- package/docs/types/SeqFn.html +8 -5
- package/docs/types/SeqFunctions.html +8 -5
- package/docs/types/SetImmutablePath.html +8 -5
- package/docs/types/ThrottledFunction.html +8 -5
- package/docs/variables/mapValuesUNSET.html +8 -5
- package/docs/variables/mergeUNSET.html +8 -5
- package/esm/index.d.ts +3 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -1
- package/esm/omit.d.ts +1 -1
- package/esm/omit.d.ts.map +1 -1
- package/esm/omit.js.map +1 -1
- package/esm/replaceDeep.d.ts +5 -1
- package/esm/replaceDeep.d.ts.map +1 -1
- package/esm/replaceDeep.js +3 -20
- package/esm/replaceDeep.js.map +1 -1
- package/esm/replaceDeepByFn.d.ts +7 -0
- package/esm/replaceDeepByFn.d.ts.map +1 -0
- package/esm/replaceDeepByFn.js +44 -0
- package/esm/replaceDeepByFn.js.map +1 -0
- package/esm/serialize.d.ts.map +1 -1
- package/esm/serialize.js +56 -18
- package/esm/serialize.js.map +1 -1
- package/esm/trim.d.ts +3 -0
- package/esm/trim.d.ts.map +1 -0
- package/esm/trim.js +7 -0
- package/esm/trim.js.map +1 -0
- package/esm/trimEnd.d.ts +3 -0
- package/esm/trimEnd.d.ts.map +1 -0
- package/esm/trimEnd.js +9 -0
- package/esm/trimEnd.js.map +1 -0
- package/esm/trimStart.d.ts +3 -0
- package/esm/trimStart.d.ts.map +1 -0
- package/esm/trimStart.js +9 -0
- package/esm/trimStart.js.map +1 -0
- package/esm/utils/utils.d.ts +6 -0
- package/esm/utils/utils.d.ts.map +1 -0
- package/esm/utils/utils.js +7 -0
- package/esm/utils/utils.js.map +1 -0
- package/package.json +1 -1
- package/src/deserialize.spec.ts +12 -0
- package/src/index.ts +3 -0
- package/src/omit.ts +8 -2
- package/src/pick.ts +1 -1
- package/src/replaceDeep.spec.ts +91 -0
- package/src/replaceDeep.ts +22 -27
- package/src/replaceDeepByFn.spec.ts +162 -0
- package/src/replaceDeepByFn.ts +93 -0
- package/src/serialize.spec.ts +42 -0
- package/src/serialize.ts +65 -18
- package/src/trim.spec.ts +22 -0
- package/src/trim.ts +23 -0
- package/src/trimEnd.spec.ts +20 -0
- package/src/trimEnd.ts +22 -0
- package/src/trimStart.spec.ts +20 -0
- package/src/trimStart.ts +22 -0
- package/src/utils/utils.ts +11 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file.
|
|
|
3
3
|
The format is based on [EZEZ Changelog](https://ezez.dev/changelog/)
|
|
4
4
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
5
5
|
|
|
6
|
+
## [UNRELEASED]
|
|
7
|
+
- (nothing yet)
|
|
8
|
+
|
|
9
|
+
## [4.0.0] - 2024-05-16
|
|
10
|
+
### Breaking
|
|
11
|
+
- `replaceDeep` will not mutate anything by default anymore — previously it was wrongly documented as always mutating,
|
|
12
|
+
but it was not mutating objects. Mutating behavior can now be enabled and additionally controlled by defining if
|
|
13
|
+
instances properties are allowed to be mutated.
|
|
14
|
+
- [`serialize`] to avoid excessive calls to serializer functions - they are now only called with non-plain objects or
|
|
15
|
+
unknown data types, this breaks some rare use cases
|
|
16
|
+
### Changed
|
|
17
|
+
- `serialize` custom serializers now allow things like `Date` (that defines .toJSON) to be supported as the user would
|
|
18
|
+
expect
|
|
19
|
+
### Added
|
|
20
|
+
- `replaceDeepByFn` method for more granular control over replacing values. `replaceDeep` is a simplified wrapper over
|
|
21
|
+
the new function
|
|
22
|
+
- `trim`, `trimStart`, and `trimEnd` methods
|
|
23
|
+
### Dev
|
|
24
|
+
- upgraded some jsdocs
|
|
25
|
+
|
|
6
26
|
## [3.0.0] - 2024-03-25
|
|
7
27
|
### Breaking
|
|
8
28
|
- `waitFor` method was upgraded:
|
package/dist/index.d.ts
CHANGED
|
@@ -51,6 +51,9 @@ export * from "./stripPrefix.js";
|
|
|
51
51
|
export * from "./stripSuffix.js";
|
|
52
52
|
export * from "./throttle.js";
|
|
53
53
|
export * from "./toggle.js";
|
|
54
|
+
export * from "./trim.js";
|
|
55
|
+
export * from "./trimEnd.js";
|
|
56
|
+
export * from "./trimStart.js";
|
|
54
57
|
export * from "./truthy.js";
|
|
55
58
|
export * from "./unique.js";
|
|
56
59
|
export * from "./wait.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -67,6 +67,9 @@ __exportStar(require("./stripPrefix.js"), exports);
|
|
|
67
67
|
__exportStar(require("./stripSuffix.js"), exports);
|
|
68
68
|
__exportStar(require("./throttle.js"), exports);
|
|
69
69
|
__exportStar(require("./toggle.js"), exports);
|
|
70
|
+
__exportStar(require("./trim.js"), exports);
|
|
71
|
+
__exportStar(require("./trimEnd.js"), exports);
|
|
72
|
+
__exportStar(require("./trimStart.js"), exports);
|
|
70
73
|
__exportStar(require("./truthy.js"), exports);
|
|
71
74
|
__exportStar(require("./unique.js"), exports);
|
|
72
75
|
__exportStar(require("./wait.js"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,oDAAkC;AAClC,oDAAkC;AAClC,2CAAyB;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,qDAAmC;AACnC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,uDAAqC;AACrC,oDAAkC;AAClC,kDAAgC;AAChC,2CAAyB;AACzB,mDAAiC;AACjC,uDAAqC;AACrC,+CAA6B;AAC7B,uDAAqC;AACrC,qDAAmC;AACnC,4CAA0B;AAC1B,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,4CAA0B;AAC1B,mDAAiC;AACjC,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAA0B;AAC1B,8CAA4B;AAC5B,8DAA4C;AAC5C,+CAA6B;AAC7B,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B;AAC3B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,2CAAyB;AACzB,iDAA+B;AAC/B,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,iDAA+B;AAC/B,mDAAiC;AACjC,mDAAiC;AACjC,gDAA8B;AAC9B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,oDAAkC;AAClC,oDAAkC;AAClC,2CAAyB;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,qDAAmC;AACnC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,uDAAqC;AACrC,oDAAkC;AAClC,kDAAgC;AAChC,2CAAyB;AACzB,mDAAiC;AACjC,uDAAqC;AACrC,+CAA6B;AAC7B,uDAAqC;AACrC,qDAAmC;AACnC,4CAA0B;AAC1B,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,4CAA0B;AAC1B,mDAAiC;AACjC,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAA0B;AAC1B,8CAA4B;AAC5B,8DAA4C;AAC5C,+CAA6B;AAC7B,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B;AAC3B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,2CAAyB;AACzB,iDAA+B;AAC/B,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,iDAA+B;AAC/B,mDAAiC;AACjC,mDAAiC;AACjC,gDAA8B;AAC9B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,iDAA+B;AAC/B,8CAA4B;AAC5B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,gDAA8B"}
|
package/dist/omit.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const omit: <T extends object, K extends keyof T>(object: T | null, props: K[]) => T extends null ? {
|
|
1
|
+
declare const omit: <T extends object, K extends keyof T = keyof T>(object: T | null, props: K[]) => T extends null ? {
|
|
2
2
|
[key: string]: never;
|
|
3
3
|
} : Omit<T, K>;
|
|
4
4
|
export { omit };
|
package/dist/omit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../src/omit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../src/omit.ts"],"names":[],"mappings":"AAqBA,QAAA,MAAM,IAAI;;cAyBT,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../src/omit.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../src/omit.ts"],"names":[],"mappings":";;;AAqBA,MAAM,IAAI,GAAG,CACT,MAAgB,EAAE,KAAU,EAC0B,EAAE;IACxD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,UAAU,CAAC,EAAE;QAEzE,OAAO,EAAE,CAAC;KACb;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QAExC,OAAO;YACH,GAAG,MAAM;SACZ,CAAC;KACL;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACxB,MAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;SACpC;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEO,oBAAI"}
|
package/dist/replaceDeep.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
type Options = {
|
|
2
|
+
mutate?: boolean;
|
|
3
|
+
replaceInstancesProps?: boolean;
|
|
4
|
+
};
|
|
5
|
+
declare const replaceDeep: <T>(source: T, search: unknown, value: unknown, options?: Options) => T;
|
|
2
6
|
export { replaceDeep, };
|
|
3
7
|
//# sourceMappingURL=replaceDeep.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceDeep.d.ts","sourceRoot":"","sources":["../src/replaceDeep.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replaceDeep.d.ts","sourceRoot":"","sources":["../src/replaceDeep.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG;IAIX,MAAM,CAAC,EAAE,OAAO,CAAC;IAMjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAmBF,QAAA,MAAM,WAAW,yBAA0B,OAAO,SAAS,OAAO,YAAY,OAAO,MAEpF,CAAC;AAEF,OAAO,EACH,WAAW,GACd,CAAC"}
|
package/dist/replaceDeep.js
CHANGED
|
@@ -1,26 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.replaceDeep = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
if (source == null) {
|
|
9
|
-
return source;
|
|
10
|
-
}
|
|
11
|
-
if (typeof source === "object") {
|
|
12
|
-
if (Array.isArray(source)) {
|
|
13
|
-
for (let i = 0; i < source.length; i++) {
|
|
14
|
-
source[i] = replaceDeep(source[i], search, value);
|
|
15
|
-
}
|
|
16
|
-
return source;
|
|
17
|
-
}
|
|
18
|
-
return Object.keys(source).reduce((acc, key) => {
|
|
19
|
-
acc[key] = replaceDeep(source[key], search, value);
|
|
20
|
-
return acc;
|
|
21
|
-
}, {});
|
|
22
|
-
}
|
|
23
|
-
return source;
|
|
4
|
+
const replaceDeepByFn_js_1 = require("./replaceDeepByFn.js");
|
|
5
|
+
const replaceDeep = (source, search, value, options) => {
|
|
6
|
+
return (0, replaceDeepByFn_js_1.replaceDeepByFn)(source, (v) => Object.is(v, search), () => value, options);
|
|
24
7
|
};
|
|
25
8
|
exports.replaceDeep = replaceDeep;
|
|
26
9
|
//# sourceMappingURL=replaceDeep.js.map
|
package/dist/replaceDeep.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceDeep.js","sourceRoot":"","sources":["../src/replaceDeep.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"replaceDeep.js","sourceRoot":"","sources":["../src/replaceDeep.ts"],"names":[],"mappings":";;;AAAA,6DAAuD;AAgCvD,MAAM,WAAW,GAAG,CAAI,MAAS,EAAE,MAAe,EAAE,KAAc,EAAE,OAAiB,EAAK,EAAE;IACxF,OAAO,IAAA,oCAAe,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtF,CAAC,CAAC;AAGE,kCAAW"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type Options = {
|
|
2
|
+
mutate?: boolean;
|
|
3
|
+
replaceInstancesProps?: boolean;
|
|
4
|
+
};
|
|
5
|
+
declare const replaceDeepByFn: <T>(source: T, search: (value: unknown) => boolean, replaceWith: (value: unknown) => unknown, options?: Options) => T;
|
|
6
|
+
export { replaceDeepByFn, };
|
|
7
|
+
//# sourceMappingURL=replaceDeepByFn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceDeepByFn.d.ts","sourceRoot":"","sources":["../src/replaceDeepByFn.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG;IAIX,MAAM,CAAC,EAAE,OAAO,CAAC;IAMjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAkBF,QAAA,MAAM,eAAe,iCACU,OAAO,KAAK,OAAO,uBAAuB,OAAO,KAAK,OAAO,YAAY,OAAO,MAwD9G,CAAC;AAEF,OAAO,EACH,eAAe,GAClB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaceDeepByFn = void 0;
|
|
4
|
+
const isPlainObject_1 = require("./isPlainObject");
|
|
5
|
+
const replaceDeepByFn = (source, search, replaceWith, options) => {
|
|
6
|
+
if (options?.replaceInstancesProps && !options.mutate) {
|
|
7
|
+
throw new Error("`replaceInstancesProps` option requires `mutate` to be enabled");
|
|
8
|
+
}
|
|
9
|
+
const searchResult = search(source);
|
|
10
|
+
if (typeof searchResult !== "boolean") {
|
|
11
|
+
throw new Error("search function must return a boolean");
|
|
12
|
+
}
|
|
13
|
+
if (searchResult) {
|
|
14
|
+
return replaceWith(source);
|
|
15
|
+
}
|
|
16
|
+
if (source == null) {
|
|
17
|
+
return source;
|
|
18
|
+
}
|
|
19
|
+
if (typeof source === "object") {
|
|
20
|
+
if (Array.isArray(source)) {
|
|
21
|
+
if (options?.mutate) {
|
|
22
|
+
for (let i = 0; i < source.length; i++) {
|
|
23
|
+
source[i] = replaceDeepByFn(source[i], search, replaceWith, options);
|
|
24
|
+
}
|
|
25
|
+
return source;
|
|
26
|
+
}
|
|
27
|
+
return source.map((item) => replaceDeepByFn(item, search, replaceWith, options));
|
|
28
|
+
}
|
|
29
|
+
if (options?.mutate) {
|
|
30
|
+
if ((0, isPlainObject_1.isPlainObject)(source) || options.replaceInstancesProps) {
|
|
31
|
+
for (const key of Object.keys(source)) {
|
|
32
|
+
source[key] = replaceDeepByFn(source[key], search, replaceWith, options);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return source;
|
|
36
|
+
}
|
|
37
|
+
if ((0, isPlainObject_1.isPlainObject)(source)) {
|
|
38
|
+
return Object.keys(source).reduce((acc, key) => {
|
|
39
|
+
acc[key] = replaceDeepByFn(source[key], search, replaceWith, options);
|
|
40
|
+
return acc;
|
|
41
|
+
}, {});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return source;
|
|
45
|
+
};
|
|
46
|
+
exports.replaceDeepByFn = replaceDeepByFn;
|
|
47
|
+
//# sourceMappingURL=replaceDeepByFn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceDeepByFn.js","sourceRoot":"","sources":["../src/replaceDeepByFn.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AA+BhD,MAAM,eAAe,GAAG,CACpB,MAAS,EAAE,MAAmC,EAAE,WAAwC,EAAE,OAAiB,EAC1G,EAAE;IACH,IAAI,OAAO,EAAE,qBAAqB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;KACrF;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpC,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KAC5D;IAED,IAAI,YAAY,EAAE;QACd,OAAO,WAAW,CAAC,MAAM,CAAM,CAAC;KACnC;IAED,IAAI,MAAM,IAAI,IAAI,EAAE;QAChB,OAAO,MAAM,CAAC;KACjB;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,OAAO,EAAE,MAAM,EAAE;gBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAEpC,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;iBACxE;gBACD,OAAO,MAAM,CAAC;aACjB;YAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAiB,CAAC;SACpG;QAED,IAAI,OAAO,EAAE,MAAM,EAAE;YACjB,IAAI,IAAA,6BAAa,EAAC,MAAM,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE;gBACxD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAElC,MAAkC,CAAC,GAAG,CAAC,GAAG,eAAe,CACrD,MAAkC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CACzE,CAAC;iBACL;aACJ;YAED,OAAO,MAAM,CAAC;SACjB;QAED,IAAI,IAAA,6BAAa,EAAC,MAAM,CAAC,EAAE;YACvB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAEpE,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAE,MAAkC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBACnG,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAAE,CAAM,CAAC;SACf;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAGE,0CAAe"}
|
package/dist/serialize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AAKA,KAAK,iBAAiB,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,EAAE,KAAK,CAAC;IACV,CAAC,CAAC,EAAE,KAAK,CAAC;IACV,CAAC,CAAC,EAAE,KAAK,CAAC;IACV,CAAC,CAAC,EAAE,KAAK,CAAC;IACV,CAAC,CAAC,EAAE,KAAK,CAAC;IACV,CAAC,CAAC,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,KAAK,OAAO,GAAG;IACX,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAoBF,QAAA,MAAM,SAAS,SAAU,OAAO,sBAAsB,iBAAiB,YAAY,OAAO,WA4GzF,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/serialize.js
CHANGED
|
@@ -2,7 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.serialize = void 0;
|
|
4
4
|
const sortProps_js_1 = require("./sortProps.js");
|
|
5
|
+
const replaceDeepByFn_js_1 = require("./replaceDeepByFn.js");
|
|
6
|
+
const isPlainObject_js_1 = require("./isPlainObject.js");
|
|
7
|
+
const utils_js_1 = require("./utils/utils.js");
|
|
5
8
|
const serialize = (data, customSerializers, options) => {
|
|
9
|
+
const sourceData = Object.keys(customSerializers ?? {}).length
|
|
10
|
+
? (0, replaceDeepByFn_js_1.replaceDeepByFn)(data, value => {
|
|
11
|
+
if (["string", "number", "bigint", "undefined", "boolean"].includes(typeof value)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (value === null || Array.isArray(value)) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
if ((0, isPlainObject_js_1.isPlainObject)(value)) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const serializerKeys = Object.keys(customSerializers ?? {});
|
|
21
|
+
for (const key of serializerKeys) {
|
|
22
|
+
const serialized = customSerializers[key](value);
|
|
23
|
+
if (typeof serialized === "string") {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}, value => new utils_js_1.DataWrapper(value))
|
|
29
|
+
: data;
|
|
6
30
|
const replacer = (_key, value) => {
|
|
7
31
|
if (typeof value === "string") {
|
|
8
32
|
return `s:${value}`;
|
|
@@ -22,40 +46,54 @@ const serialize = (data, customSerializers, options) => {
|
|
|
22
46
|
if (value === null) {
|
|
23
47
|
return "l:";
|
|
24
48
|
}
|
|
49
|
+
if (Array.isArray(value)) {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
if ((0, isPlainObject_js_1.isPlainObject)(value)) {
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
25
55
|
const serializerKeys = Object.keys(customSerializers ?? {});
|
|
26
56
|
for (const key of serializerKeys) {
|
|
27
|
-
const serialized = customSerializers[key](value);
|
|
57
|
+
const serialized = customSerializers[key](value instanceof utils_js_1.DataWrapper ? value.data : value);
|
|
28
58
|
if (typeof serialized === "string") {
|
|
29
59
|
return `${key}:${serialized}`;
|
|
30
60
|
}
|
|
61
|
+
if (serialized !== null) {
|
|
62
|
+
throw new Error(`Custom serializer for key ${key} returned a non-string value: ${String(serialized)}`);
|
|
63
|
+
}
|
|
31
64
|
}
|
|
32
65
|
if (typeof value === "object") {
|
|
33
66
|
return value;
|
|
34
67
|
}
|
|
35
68
|
throw new Error(`Unsupported data type: ${typeof value}`);
|
|
36
69
|
};
|
|
37
|
-
if (
|
|
38
|
-
|| typeof
|
|
39
|
-
|| typeof
|
|
40
|
-
|| typeof
|
|
41
|
-
|| typeof
|
|
42
|
-
|| typeof
|
|
43
|
-
|| Array.isArray(
|
|
44
|
-
return JSON.stringify(
|
|
70
|
+
if (sourceData == null
|
|
71
|
+
|| typeof sourceData === "string"
|
|
72
|
+
|| typeof sourceData === "number"
|
|
73
|
+
|| typeof sourceData === "bigint"
|
|
74
|
+
|| typeof sourceData === "undefined"
|
|
75
|
+
|| typeof sourceData === "boolean"
|
|
76
|
+
|| Array.isArray(sourceData)) {
|
|
77
|
+
return JSON.stringify(sourceData, replacer);
|
|
45
78
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
79
|
+
if (!(0, isPlainObject_js_1.isPlainObject)(sourceData)) {
|
|
80
|
+
const serializerKeysGlobal = Object.keys(customSerializers ?? {});
|
|
81
|
+
for (const key of serializerKeysGlobal) {
|
|
82
|
+
const serialized = customSerializers[key](sourceData instanceof utils_js_1.DataWrapper ? sourceData.data : sourceData);
|
|
83
|
+
if (typeof serialized === "string") {
|
|
84
|
+
return `"${key}:${serialized}"`;
|
|
85
|
+
}
|
|
86
|
+
if (serialized !== null) {
|
|
87
|
+
throw new Error(`Custom serializer for key ${key} returned a non-string value: ${String(serialized)}`);
|
|
88
|
+
}
|
|
51
89
|
}
|
|
52
90
|
}
|
|
53
|
-
if (typeof
|
|
91
|
+
if (typeof sourceData === "object") {
|
|
54
92
|
return JSON.stringify(options?.sortProps === false
|
|
55
|
-
?
|
|
56
|
-
: (0, sortProps_js_1.sortProps)(
|
|
93
|
+
? sourceData
|
|
94
|
+
: (0, sortProps_js_1.sortProps)(sourceData), replacer);
|
|
57
95
|
}
|
|
58
|
-
throw new Error(`Unsupported data type: ${typeof
|
|
96
|
+
throw new Error(`Unsupported data type: ${typeof sourceData}`);
|
|
59
97
|
};
|
|
60
98
|
exports.serialize = serialize;
|
|
61
99
|
//# sourceMappingURL=serialize.js.map
|
package/dist/serialize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":";;;AAAA,iDAA2C;
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"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"}
|
package/dist/trim.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trim.d.ts","sourceRoot":"","sources":["../src/trim.ts"],"names":[],"mappings":"AAgBA,QAAA,MAAM,IAAI,WAAY,MAAM,cAAc,MAAM,WAE/C,CAAC;AAEF,OAAO,EACH,IAAI,GACP,CAAC"}
|
package/dist/trim.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.trim = void 0;
|
|
4
|
+
const trimStart_js_1 = require("./trimStart.js");
|
|
5
|
+
const trimEnd_js_1 = require("./trimEnd.js");
|
|
6
|
+
const trim = (source, characters) => {
|
|
7
|
+
return (0, trimStart_js_1.trimStart)((0, trimEnd_js_1.trimEnd)(source, characters), characters);
|
|
8
|
+
};
|
|
9
|
+
exports.trim = trim;
|
|
10
|
+
//# sourceMappingURL=trim.js.map
|
package/dist/trim.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trim.js","sourceRoot":"","sources":["../src/trim.ts"],"names":[],"mappings":";;;AAAA,iDAA2C;AAC3C,6CAAuC;AAevC,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAE,EAAE;IAChD,OAAO,IAAA,wBAAS,EAAC,IAAA,oBAAO,EAAC,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC,CAAC;AAGE,oBAAI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trimEnd.d.ts","sourceRoot":"","sources":["../src/trimEnd.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,OAAO,WAAY,MAAM,cAAc,MAAM,WAMlD,CAAC;AAEF,OAAO,EACH,OAAO,GACV,CAAC"}
|
package/dist/trimEnd.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.trimEnd = void 0;
|
|
4
|
+
const trimEnd = (source, characters) => {
|
|
5
|
+
let s = source;
|
|
6
|
+
while (s.endsWith(characters)) {
|
|
7
|
+
s = s.slice(0, -characters.length);
|
|
8
|
+
}
|
|
9
|
+
return s;
|
|
10
|
+
};
|
|
11
|
+
exports.trimEnd = trimEnd;
|
|
12
|
+
//# sourceMappingURL=trimEnd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trimEnd.js","sourceRoot":"","sources":["../src/trimEnd.ts"],"names":[],"mappings":";;;AAWA,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAE,EAAE;IACnD,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC3B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACtC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAGE,0BAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trimStart.d.ts","sourceRoot":"","sources":["../src/trimStart.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,SAAS,WAAY,MAAM,cAAc,MAAM,WAMpD,CAAC;AAEF,OAAO,EACH,SAAS,GACZ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.trimStart = void 0;
|
|
4
|
+
const trimStart = (source, characters) => {
|
|
5
|
+
let s = source;
|
|
6
|
+
while (s.startsWith(characters)) {
|
|
7
|
+
s = s.slice(characters.length);
|
|
8
|
+
}
|
|
9
|
+
return s;
|
|
10
|
+
};
|
|
11
|
+
exports.trimStart = trimStart;
|
|
12
|
+
//# sourceMappingURL=trimStart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trimStart.js","sourceRoot":"","sources":["../src/trimStart.ts"],"names":[],"mappings":";;;AAWA,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAE,EAAE;IACrD,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC7B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KAClC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAGE,8BAAS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,cAAM,WAAW,CAAC,CAAC;IACR,IAAI,EAAE,CAAC,CAAC;gBAEI,IAAI,EAAE,CAAC;CAG7B;AAED,OAAO,EACH,WAAW,GACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW;IAGb,YAAmB,IAAO;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAGG,kCAAW"}
|