codsen-utils 1.5.0 → 1.6.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 +9 -3
- package/dist/codsen-utils.esm.js +4 -4
- package/dist/codsen-utils.umd.js +7 -7
- package/package.json +4 -1
- package/types/index.d.ts +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
## 1.6.0 (2023-05-21)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- add `intersection()` and `omit()` ([d71f024](https://github.com/codsen/codsen/commit/d71f024dd3223dfbf2182dbb7c28ac592b13bba2))
|
|
11
|
+
|
|
12
|
+
## 1.5.0 (2023-05-13)
|
|
7
13
|
|
|
8
14
|
### Bug Fixes
|
|
9
15
|
|
|
@@ -15,14 +21,14 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
15
21
|
- add `compareFn()` to tackle `@typescript-eslint/require-array-sort-compare` lint rule ([a25524a](https://github.com/codsen/codsen/commit/a25524a027067208b8e94b30b6745790ec278fbe))
|
|
16
22
|
- add `includes()` ([c6cf14e](https://github.com/codsen/codsen/commit/c6cf14e8a7f3fb2a063fcec3381700798341ad42))
|
|
17
23
|
|
|
18
|
-
|
|
24
|
+
## 1.4.0 (2023-04-16)
|
|
19
25
|
|
|
20
26
|
### Features
|
|
21
27
|
|
|
22
28
|
- add `detectEol()` ([04d2f3d](https://github.com/codsen/codsen/commit/04d2f3d36963e1b1729887098126cba5719d97c0))
|
|
23
29
|
- add `resolveEolSetting()` and type `EolSetting` ([ceae282](https://github.com/codsen/codsen/commit/ceae282e1f9240638e0aefc57eab48dde9de6ba1))
|
|
24
30
|
|
|
25
|
-
|
|
31
|
+
## 1.3.0 (2023-03-12)
|
|
26
32
|
|
|
27
33
|
### Features
|
|
28
34
|
|
package/dist/codsen-utils.esm.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @name codsen-utils
|
|
3
3
|
* @fileoverview Various utility functions
|
|
4
|
-
* @version 1.
|
|
4
|
+
* @version 1.6.0
|
|
5
5
|
* @author Roy Revelt, Codsen Ltd
|
|
6
6
|
* @license MIT
|
|
7
7
|
* {@link https://codsen.com/os/codsen-utils/}
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
var s="1.
|
|
10
|
+
var s="1.6.0";import p from"rfdc";var l=p(),k=s,a="\u2018",f="\u2019",d="\u201C",m="\u201D",S="\u2013",O="\u2014",C="\xA0",N="\u2026",A="\u200A",j="\u2009",E="\u2032",T="\u2033",J="\\",R="\uFFFD",$="`",L="\xD7",D=[".",",",";","!","?"];function U(t){return r(t)&&t.charCodeAt(0)>=48&&t.charCodeAt(0)<=57}function x(t){return r(t)&&"\u060B$\u20BC\u17DB\xA5\u20A1\u20B1\xA3\u20AC\xA2\u20B9\uFDFC\u20AA\u20A9\u20AD\u20A8\u20AE\u20A6\u20BD\u20AB\u0E3F\u20A9\u20BA\u20B4".includes(t)}function F(t){let e=new Set(["$U","$b","B/.","BZ$","Br","Bs","C$","CHF","Ft","Gs","J$","KM","K\u010D","L","MT","NT$","P","Q","R","R$","RD$","RM","Rp","S","S/.","TT$","Z$","kn","kr","lei","z\u0142","\u0192","\u0414\u0438\u043D.","\u0434\u0435\u043D","\u043B\u0432","\u062F.\u0625","Lek"]);return r(t)&&!!t.trim()&&(x(t)||e.has(t))}function i(t){return r(t)&&t.length===1&&t.toUpperCase()!==t.toLowerCase()}function I(t){return!!(t&&r(t)&&(t.charCodeAt(0)>64&&t.charCodeAt(0)<91||t.charCodeAt(0)>96&&t.charCodeAt(0)<123))}function P(t){return r(t)&&(t==='"'||t==="'"||t===a||t===f||t===d||t===m)}function M(t){return!r(t)||!i(t)?!1:t===t.toLowerCase()&&t!==t.toUpperCase()}function Q(t){return!r(t)||!i(t)?!1:t===t.toUpperCase()&&t!==t.toLowerCase()}function V(t){return!r(t)||!t?!1:!t[0].trim()}var B=t=>r(t)&&t.length&&t.endsWith("/")?t.slice(0,-1).trim():t;function u(t){if(t==null||typeof t!="object")return!1;let e=Object.getPrototypeOf(t);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null?!1:!(Symbol.iterator in t)&&!(Symbol.toStringTag in t)}function K(t="",e=0,n=0,o=""){return e<0&&(e+=t.length,e<0&&(e=0)),t.slice(0,e)+(o||"")+t.slice(e+n)}function r(t){return typeof t=="string"}function W(t){return Number.isFinite(t)}function q(t){return Number.isSafeInteger(t)&&t>=0}function H(t){return typeof t=="boolean"}function Z(t){return t===null}function b(t){return t instanceof RegExp}function _(t,e){if(!r(t)||!r(e))return[];let n=[],o=-1;for(;(o=t.indexOf(e,o+1))>=0;)n.push(o);return n}function z(t=[],e=[]){return!t||!Array.isArray(t)||!t.length?[]:!e||!Array.isArray(e)||!e.length?t:t.filter(n=>!e.includes(n))}function G(t){return t!=null}function X(t){return[...new Set(t)]}function g(t){if(!(typeof t!="string"||!t)){if(t.includes(`\r
|
|
11
11
|
`))return`\r
|
|
12
12
|
`;if(t.includes(`
|
|
13
13
|
`))return`
|
|
14
|
-
`;if(t.includes("\r"))return"\r"}}function
|
|
14
|
+
`;if(t.includes("\r"))return"\r"}}function Y(t,e,n=`
|
|
15
15
|
`){if(![`\r
|
|
16
16
|
`,"\r",`
|
|
17
17
|
`].includes(n))throw new Error(`codsen-utils/resolveEolSetting(): the input argument defaultEolChar should be one of EOL values: "\\n", "\\r", or "\\r\\n", but it was given as ${JSON.stringify(n,null,0)}`);return e==="crlf"?`\r
|
|
18
18
|
`:e==="cr"?"\r":e==="lf"?`
|
|
19
|
-
`:
|
|
19
|
+
`:g(t)||n}function v(t,e){return u(t)&&r(e)&&e in t}function tt(t,e){return t.localeCompare(e)}var et=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],nt=new Set(["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"]);function rt(t,e){return!Array.isArray(t)||!t.length?!1:t.some(n=>b(n)&&e.match(n)||typeof n=="string"&&e===n)}function ot(t=[],e=[]){return!t||!e?[]:Array.from(new Set(Array.from(t).filter(n=>new Set(e).has(n))))}function st(t,e=[]){if(!t)return t;if(!u(t))throw new Error(`codsen-utils/omit(): [THROW_ID_01] Input must be a plain object! It was given as ${JSON.stringify(t,null,4)} (typeof is "${typeof t}")`);let n=l(t);return e.forEach(o=>{delete n[o]}),n}export{J as backslash,$ as backtick,tt as compareFn,g as detectEol,T as doublePrime,N as ellipsis,G as existy,_ as findAllIdx,A as hairspace,v as hasOwnProp,rt as includes,nt as inlineTags,ot as intersection,H as isBool,x as isCurrencyChar,F as isCurrencySymbol,q as isInt,I as isLatinLetter,i as isLetter,M as isLowercaseLetter,Z as isNull,W as isNum,U as isNumberChar,u as isPlainObject,P as isQuote,b as isRegExp,r as isStr,Q as isUppercaseLetter,V as isWhitespaceChar,d as leftDoubleQuote,a as leftSingleQuote,L as multiplicationSign,st as omit,z as pullAll,D as punctuationChars,O as rawMDash,S as rawNDash,C as rawNbsp,R as rawReplacementMark,B as removeTrailingSlash,Y as resolveEolSetting,m as rightDoubleQuote,f as rightSingleQuote,E as singlePrime,K as stringSplice,j as thinSpace,X as uniq,k as version,et as voidTags};
|
package/dist/codsen-utils.umd.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @name codsen-utils
|
|
3
3
|
* @fileoverview Various utility functions
|
|
4
|
-
* @version 1.
|
|
4
|
+
* @version 1.6.0
|
|
5
5
|
* @author Roy Revelt, Codsen Ltd
|
|
6
6
|
* @license MIT
|
|
7
7
|
* {@link https://codsen.com/os/codsen-utils/}
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
"use strict";var codsenUtils=(()=>{var
|
|
10
|
+
"use strict";var codsenUtils=(()=>{var J=Object.create;var w=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var V=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),P=(e,n)=>{for(var o in n)w(e,o,{get:n[o],enumerable:!0})},g=(e,n,o,f)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of R(n))!L.call(e,i)&&i!==o&&w(e,i,{get:()=>n[i],enumerable:!(f=B(n,i))||f.enumerable});return e};var U=(e,n,o)=>(o=e!=null?J($(e)):{},g(n||!e||!e.__esModule?w(o,"default",{value:e,enumerable:!0}):o,e)),F=e=>g(w({},"__esModule",{value:!0}),e);var S=V((Be,A)=>{"use strict";A.exports=k;function m(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}function k(e){if(e=e||{},e.circles)return Q(e);return e.proto?f:o;function n(i,p){for(var t=Object.keys(i),r=new Array(t.length),a=0;a<t.length;a++){var s=t[a],l=i[s];typeof l!="object"||l===null?r[s]=l:l instanceof Date?r[s]=new Date(l):ArrayBuffer.isView(l)?r[s]=m(l):r[s]=p(l)}return r}function o(i){if(typeof i!="object"||i===null)return i;if(i instanceof Date)return new Date(i);if(Array.isArray(i))return n(i,o);if(i instanceof Map)return new Map(n(Array.from(i),o));if(i instanceof Set)return new Set(n(Array.from(i),o));var p={};for(var t in i)if(Object.hasOwnProperty.call(i,t)!==!1){var r=i[t];typeof r!="object"||r===null?p[t]=r:r instanceof Date?p[t]=new Date(r):r instanceof Map?p[t]=new Map(n(Array.from(r),o)):r instanceof Set?p[t]=new Set(n(Array.from(r),o)):ArrayBuffer.isView(r)?p[t]=m(r):p[t]=o(r)}return p}function f(i){if(typeof i!="object"||i===null)return i;if(i instanceof Date)return new Date(i);if(Array.isArray(i))return n(i,f);if(i instanceof Map)return new Map(n(Array.from(i),f));if(i instanceof Set)return new Set(n(Array.from(i),f));var p={};for(var t in i){var r=i[t];typeof r!="object"||r===null?p[t]=r:r instanceof Date?p[t]=new Date(r):r instanceof Map?p[t]=new Map(n(Array.from(r),f)):r instanceof Set?p[t]=new Set(n(Array.from(r),f)):ArrayBuffer.isView(r)?p[t]=m(r):p[t]=f(r)}return p}}function Q(e){var n=[],o=[];return e.proto?p:i;function f(t,r){for(var a=Object.keys(t),s=new Array(a.length),l=0;l<a.length;l++){var y=a[l],c=t[y];if(typeof c!="object"||c===null)s[y]=c;else if(c instanceof Date)s[y]=new Date(c);else if(ArrayBuffer.isView(c))s[y]=m(c);else{var x=n.indexOf(c);x!==-1?s[y]=o[x]:s[y]=r(c)}}return s}function i(t){if(typeof t!="object"||t===null)return t;if(t instanceof Date)return new Date(t);if(Array.isArray(t))return f(t,i);if(t instanceof Map)return new Map(f(Array.from(t),i));if(t instanceof Set)return new Set(f(Array.from(t),i));var r={};n.push(t),o.push(r);for(var a in t)if(Object.hasOwnProperty.call(t,a)!==!1){var s=t[a];if(typeof s!="object"||s===null)r[a]=s;else if(s instanceof Date)r[a]=new Date(s);else if(s instanceof Map)r[a]=new Map(f(Array.from(s),i));else if(s instanceof Set)r[a]=new Set(f(Array.from(s),i));else if(ArrayBuffer.isView(s))r[a]=m(s);else{var l=n.indexOf(s);l!==-1?r[a]=o[l]:r[a]=i(s)}}return n.pop(),o.pop(),r}function p(t){if(typeof t!="object"||t===null)return t;if(t instanceof Date)return new Date(t);if(Array.isArray(t))return f(t,p);if(t instanceof Map)return new Map(f(Array.from(t),p));if(t instanceof Set)return new Set(f(Array.from(t),p));var r={};n.push(t),o.push(r);for(var a in t){var s=t[a];if(typeof s!="object"||s===null)r[a]=s;else if(s instanceof Date)r[a]=new Date(s);else if(s instanceof Map)r[a]=new Map(f(Array.from(s),p));else if(s instanceof Set)r[a]=new Set(f(Array.from(s),p));else if(ArrayBuffer.isView(s))r[a]=m(s);else{var l=n.indexOf(s);l!==-1?r[a]=o[l]:r[a]=p(s)}}return n.pop(),o.pop(),r}}});var Ee={};P(Ee,{backslash:()=>Y,backtick:()=>ne,compareFn:()=>Oe,detectEol:()=>T,doublePrime:()=>X,ellipsis:()=>Z,existy:()=>ge,findAllIdx:()=>de,hairspace:()=>_,hasOwnProp:()=>Se,includes:()=>Ce,inlineTags:()=>De,intersection:()=>Ne,isBool:()=>we,isCurrencyChar:()=>M,isCurrencySymbol:()=>ie,isInt:()=>me,isLatinLetter:()=>se,isLetter:()=>b,isLowercaseLetter:()=>ae,isNull:()=>be,isNum:()=>ye,isNumberChar:()=>oe,isPlainObject:()=>d,isQuote:()=>fe,isRegExp:()=>E,isStr:()=>u,isUppercaseLetter:()=>pe,isWhitespaceChar:()=>le,leftDoubleQuote:()=>C,leftSingleQuote:()=>j,multiplicationSign:()=>te,omit:()=>Me,pullAll:()=>xe,punctuationChars:()=>re,rawMDash:()=>q,rawNDash:()=>W,rawNbsp:()=>H,rawReplacementMark:()=>ee,removeTrailingSlash:()=>ue,resolveEolSetting:()=>Ae,rightDoubleQuote:()=>N,rightSingleQuote:()=>D,singlePrime:()=>G,stringSplice:()=>ce,thinSpace:()=>z,uniq:()=>he,version:()=>K,voidTags:()=>je});var h="1.6.0";var O=U(S(),1),v=(0,O.default)(),K=h,j="\u2018",D="\u2019",C="\u201C",N="\u201D",W="\u2013",q="\u2014",H="\xA0",Z="\u2026",_="\u200A",z="\u2009",G="\u2032",X="\u2033",Y="\\",ee="\uFFFD",ne="`",te="\xD7",re=[".",",",";","!","?"];function oe(e){return u(e)&&e.charCodeAt(0)>=48&&e.charCodeAt(0)<=57}function M(e){return u(e)&&"\u060B$\u20BC\u17DB\xA5\u20A1\u20B1\xA3\u20AC\xA2\u20B9\uFDFC\u20AA\u20A9\u20AD\u20A8\u20AE\u20A6\u20BD\u20AB\u0E3F\u20A9\u20BA\u20B4".includes(e)}function ie(e){let n=new Set(["$U","$b","B/.","BZ$","Br","Bs","C$","CHF","Ft","Gs","J$","KM","K\u010D","L","MT","NT$","P","Q","R","R$","RD$","RM","Rp","S","S/.","TT$","Z$","kn","kr","lei","z\u0142","\u0192","\u0414\u0438\u043D.","\u0434\u0435\u043D","\u043B\u0432","\u062F.\u0625","Lek"]);return u(e)&&!!e.trim()&&(M(e)||n.has(e))}function b(e){return u(e)&&e.length===1&&e.toUpperCase()!==e.toLowerCase()}function se(e){return!!(e&&u(e)&&(e.charCodeAt(0)>64&&e.charCodeAt(0)<91||e.charCodeAt(0)>96&&e.charCodeAt(0)<123))}function fe(e){return u(e)&&(e==='"'||e==="'"||e===j||e===D||e===C||e===N)}function ae(e){return!u(e)||!b(e)?!1:e===e.toLowerCase()&&e!==e.toUpperCase()}function pe(e){return!u(e)||!b(e)?!1:e===e.toUpperCase()&&e!==e.toLowerCase()}function le(e){return!u(e)||!e?!1:!e[0].trim()}var ue=e=>u(e)&&e.length&&e.endsWith("/")?e.slice(0,-1).trim():e;function d(e){if(e==null||typeof e!="object")return!1;let n=Object.getPrototypeOf(e);return n!==null&&n!==Object.prototype&&Object.getPrototypeOf(n)!==null?!1:!(Symbol.iterator in e)&&!(Symbol.toStringTag in e)}function ce(e="",n=0,o=0,f=""){return n<0&&(n+=e.length,n<0&&(n=0)),e.slice(0,n)+(f||"")+e.slice(n+o)}function u(e){return typeof e=="string"}function ye(e){return Number.isFinite(e)}function me(e){return Number.isSafeInteger(e)&&e>=0}function we(e){return typeof e=="boolean"}function be(e){return e===null}function E(e){return e instanceof RegExp}function de(e,n){if(!u(e)||!u(n))return[];let o=[],f=-1;for(;(f=e.indexOf(n,f+1))>=0;)o.push(f);return o}function xe(e=[],n=[]){return!e||!Array.isArray(e)||!e.length?[]:!n||!Array.isArray(n)||!n.length?e:e.filter(o=>!n.includes(o))}function ge(e){return e!=null}function he(e){return[...new Set(e)]}function T(e){if(!(typeof e!="string"||!e)){if(e.includes(`\r
|
|
11
11
|
`))return`\r
|
|
12
|
-
`;if(
|
|
12
|
+
`;if(e.includes(`
|
|
13
13
|
`))return`
|
|
14
|
-
`;if(
|
|
14
|
+
`;if(e.includes("\r"))return"\r"}}function Ae(e,n,o=`
|
|
15
15
|
`){if(![`\r
|
|
16
16
|
`,"\r",`
|
|
17
|
-
`].includes(
|
|
18
|
-
`:
|
|
19
|
-
`:
|
|
17
|
+
`].includes(o))throw new Error(`codsen-utils/resolveEolSetting(): the input argument defaultEolChar should be one of EOL values: "\\n", "\\r", or "\\r\\n", but it was given as ${JSON.stringify(o,null,0)}`);return n==="crlf"?`\r
|
|
18
|
+
`:n==="cr"?"\r":n==="lf"?`
|
|
19
|
+
`:T(e)||o}function Se(e,n){return d(e)&&u(n)&&n in e}function Oe(e,n){return e.localeCompare(n)}var je=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],De=new Set(["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"]);function Ce(e,n){return!Array.isArray(e)||!e.length?!1:e.some(o=>E(o)&&n.match(o)||typeof o=="string"&&n===o)}function Ne(e=[],n=[]){return!e||!n?[]:Array.from(new Set(Array.from(e).filter(o=>new Set(n).has(o))))}function Me(e,n=[]){if(!e)return e;if(!d(e))throw new Error(`codsen-utils/omit(): [THROW_ID_01] Input must be a plain object! It was given as ${JSON.stringify(e,null,4)} (typeof is "${typeof e}")`);let o=v(e);return n.forEach(f=>{delete o[f]}),o}return F(Ee);})();
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -113,6 +113,10 @@ declare function includes(
|
|
|
113
113
|
arr: (string | RegExp)[],
|
|
114
114
|
whatToMatch: string
|
|
115
115
|
): boolean;
|
|
116
|
+
/** Alternative to lodash.intersection */
|
|
117
|
+
declare function intersection<T, U>(a?: T[], b?: U[]): T[];
|
|
118
|
+
/** Alternative to lodash.omit */
|
|
119
|
+
declare function omit(obj: JSONObject, keysToRemove?: string[]): JSONObject;
|
|
116
120
|
|
|
117
121
|
export {
|
|
118
122
|
EolChar,
|
|
@@ -134,6 +138,7 @@ export {
|
|
|
134
138
|
hasOwnProp,
|
|
135
139
|
includes,
|
|
136
140
|
inlineTags,
|
|
141
|
+
intersection,
|
|
137
142
|
isBool,
|
|
138
143
|
isCurrencyChar,
|
|
139
144
|
isCurrencySymbol,
|
|
@@ -153,6 +158,7 @@ export {
|
|
|
153
158
|
leftDoubleQuote,
|
|
154
159
|
leftSingleQuote,
|
|
155
160
|
multiplicationSign,
|
|
161
|
+
omit,
|
|
156
162
|
pullAll,
|
|
157
163
|
punctuationChars,
|
|
158
164
|
rawMDash,
|