Compare commits

..

No commits in common. "main" and "v0.0.2" have entirely different histories.
main ... v0.0.2

10 changed files with 48 additions and 2149 deletions

File diff suppressed because it is too large Load Diff

View File

@ -30,4 +30,4 @@ export declare function assignRecords<T extends Record<string, any>>(...arrays:
* @param sources * @param sources
* @returns * @returns
*/ */
export declare const extendRecord: <T extends Record<string, any>>(target: T, ...sources: (T | undefined)[]) => T; export declare const extend: <T extends Record<string, any>>(target: T, ...sources: (T | undefined)[]) => T;

4
lib/index.d.ts vendored
View File

@ -1,5 +1,5 @@
import { withRecord, assignRecords, RecordClearMode, extendRecord } from "./commons/record-util"; import { withRecord, assignRecords, RecordClearMode } from "./commons/record-util";
import { stringTokenizer, equalsIgnoreCase, includeIgnoreCase, strLength, strMonospacePad } from "./commons/str-utils"; import { stringTokenizer, equalsIgnoreCase, includeIgnoreCase, strLength, strMonospacePad } from "./commons/str-utils";
import { getFileExt, getFileFullName, getFileNameWithoutExt, getFileInfo } from "./commons/file-util"; import { getFileExt, getFileFullName, getFileNameWithoutExt, getFileInfo } from "./commons/file-util";
import { Optional } from "./commons/optional"; import { Optional } from "./commons/optional";
export { Optional, RecordClearMode, assignRecords, equalsIgnoreCase, extendRecord, getFileExt, getFileFullName as getFileName, getFileInfo, getFileNameWithoutExt, includeIgnoreCase, strLength, strMonospacePad, stringTokenizer, withRecord, }; export { Optional, RecordClearMode, assignRecords, equalsIgnoreCase, getFileExt, getFileFullName as getFileName, getFileInfo, getFileNameWithoutExt, includeIgnoreCase, strLength, strMonospacePad, stringTokenizer, withRecord, };

View File

@ -1,5 +1,5 @@
var h = /* @__PURE__ */ ((e) => (e[e.delete = 2] = "delete", e[e.reset = 1] = "reset", e))(h || {}); var h = /* @__PURE__ */ ((e) => (e[e.delete = 2] = "delete", e[e.reset = 1] = "reset", e))(h || {});
const p = (e) => ({ const m = (e) => ({
clear: function(t = 2) { clear: function(t = 2) {
t === 1 ? Object.keys(e).forEach((n) => { t === 1 ? Object.keys(e).forEach((n) => {
e[n] = void 0; e[n] = void 0;
@ -14,56 +14,49 @@ const p = (e) => ({
), Object.assign(e, t); ), Object.assign(e, t);
} }
}); });
function m(...e) { function p(...e) {
let t = e ?? []; let t = e ?? [];
return { return {
test: function(n) { test: function(n) {
if (t.length <= 1) if (t.length <= 1)
return t.length === 1 ? t[0] : []; return t.length === 1 ? t[0] : [];
let r = n ?? function(s, i) { let s = n ?? function(r, i) {
return s === i; return r === i;
}; };
return t.reduce((s, i) => (i && i.length > 0 && (s.length === 0 ? s.push(...i) : i.forEach((f) => { return t.reduce((r, i) => (i && i.length > 0 && (r.length === 0 ? r.push(...i) : i.forEach((f) => {
s.some((o) => r(o, f)) || s.push(f); r.some((u) => s(u, f)) || r.push(f);
})), s), []); })), r), []);
}, },
path: function(...n) { path: function(...n) {
return this.test((r, s) => n.every((i) => r[i] === s[i])); return this.test((s, r) => n.every((i) => s[i] === r[i]));
} }
}; };
} }
const O = (e, ...t) => {
for (const n of t)
if (n !== void 0)
for (const r in n)
n.hasOwnProperty(r) && n[r] != null && (e[r] = n[r]);
return e;
};
function I(e, t, n) { function I(e, t, n) {
const r = t, s = n || t; const s = t, r = n || t;
return function(i) { return function(i) {
const f = [], u = i.matchAll(e); const f = [], l = i.matchAll(e);
let o = 0; let u = 0;
for (const l of u) { for (const o of l) {
const g = i.slice(o, l.index); const g = i.slice(u, o.index);
g && f.push(s(g, !1)), f.push(r(l[0], !0)), o = l.index + l[0].length; g && f.push(r(g, !1)), f.push(s(o[0], !0)), u = o.index + o[0].length;
} }
return o < i.length && f.push(s(i.slice(o), !1)), f; return u < i.length && f.push(r(i.slice(u), !1)), f;
}; };
} }
function a(e, t) { function a(e, t) {
return typeof e == "string" && typeof t == "string" ? e.toLowerCase() === t.toLowerCase() : e === void 0 && t === void 0; return typeof e == "string" && typeof t == "string" ? e.toLowerCase() === t.toLowerCase() : e === void 0 && t === void 0;
} }
const E = (e, t) => { const O = (e, t) => {
for (let n = 0; n < e.length; n++) { for (let n = 0; n < e.length; n++) {
let r = e[n]; let s = e[n];
if (a(r, t)) if (a(s, t))
return !0; return !0;
} }
return !1; return !1;
}, d = (e) => e.replaceAll(/[\u4e00-\u9fa5]/g, "--").length, y = (e, t, n = " ") => { }, d = (e) => e.replaceAll(/[\u4e00-\u9fa5]/g, "--").length, E = (e, t, n = " ") => {
const r = t - (d(e) - e.length); const s = t - (d(e) - e.length);
return e.padEnd(r, n); return e.padEnd(s, n);
}; };
function b(e) { function b(e) {
const t = e.lastIndexOf("."); const t = e.lastIndexOf(".");
@ -73,22 +66,22 @@ function x(e) {
let t = e.lastIndexOf("/"); let t = e.lastIndexOf("/");
return t === -1 && (t = e.lastIndexOf("\\"), t === -1) ? e : e.substring(t + 1); return t === -1 && (t = e.lastIndexOf("\\"), t === -1) ? e : e.substring(t + 1);
} }
function N(e) { function y(e) {
const t = x(e), n = t.lastIndexOf("."); const t = x(e), n = t.lastIndexOf(".");
return n === -1 ? t : t.substring(0, n); return n === -1 ? t : t.substring(0, n);
} }
function w(e, t = "win32") { function N(e, t = "win32") {
const n = t === "win32" ? "\\" : "/"; const n = t === "win32" ? "\\" : "/";
let r, s, i, f; let s, r, i, f;
const u = e.lastIndexOf(n); const l = e.lastIndexOf(n);
u === -1 ? (r = "", s = e) : (r = e.substring(0, u + 1), s = e.substring(u + 1)); l === -1 ? (s = "", r = e) : (s = e.substring(0, l + 1), r = e.substring(l + 1));
const o = s.lastIndexOf("."); const u = r.lastIndexOf(".");
return o === -1 ? (i = "", f = s) : (i = s.substring(o + 1), f = s.substring(0, o)), { return u === -1 ? (i = "", f = r) : (i = r.substring(u + 1), f = r.substring(0, u)), {
fileName: s, fileName: r,
fileNameNoExt: f, fileNameNoExt: f,
fileExtName: i, fileExtName: i,
fullPath: e, fullPath: e,
pathOnly: r pathOnly: s
}; };
} }
const c = { const c = {
@ -107,8 +100,8 @@ const c = {
orElse(n) { orElse(n) {
return t(e) ? n : e; return t(e) ? n : e;
}, },
then(n, r) { then(n, s) {
t(e) ? r && r() : n(e); t(e) ? s && s() : n(e);
}, },
ifPresent(n) { ifPresent(n) {
e != null && n(e); e != null && n(e);
@ -131,17 +124,16 @@ const c = {
export { export {
c as Optional, c as Optional,
h as RecordClearMode, h as RecordClearMode,
m as assignRecords, p as assignRecords,
a as equalsIgnoreCase, a as equalsIgnoreCase,
O as extendRecord,
b as getFileExt, b as getFileExt,
w as getFileInfo, N as getFileInfo,
x as getFileName, x as getFileName,
N as getFileNameWithoutExt, y as getFileNameWithoutExt,
E as includeIgnoreCase, O as includeIgnoreCase,
d as strLength, d as strLength,
y as strMonospacePad, E as strMonospacePad,
I as stringTokenizer, I as stringTokenizer,
p as withRecord m as withRecord
}; };
//# sourceMappingURL=index.es.js.map //# sourceMappingURL=index.es.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
(function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s["ez-common-ts"]={}))})(this,function(s){"use strict";var l=(e=>(e[e.delete=2]="delete",e[e.reset=1]="reset",e))(l||{});const O=e=>({clear:function(n=2){n===1?Object.keys(e).forEach(t=>{e[t]=void 0}):n===2&&Object.keys(e).forEach(t=>{delete e[t]})},replace:function(n){this.clear(2),Object.assign(e,n)}});function y(...e){let n=e??[];return{test:function(t){if(n.length<=1)return n.length===1?n[0]:[];let i=t??function(r,f){return r===f};return n.reduce((r,f)=>(f&&f.length>0&&(r.length===0?r.push(...f):f.forEach(o=>{r.some(u=>i(u,o))||r.push(o)})),r),[])},path:function(...t){return this.test((i,r)=>t.every(f=>i[f]===r[f]))}}}const x=(e,...n)=>{for(const t of n)if(t!==void 0)for(const i in t)t.hasOwnProperty(i)&&t[i]!=null&&(e[i]=t[i]);return e};function E(e,n,t){const i=n,r=t||n;return function(f){const o=[],c=f.matchAll(e);let u=0;for(const g of c){const I=f.slice(u,g.index);I&&o.push(r(I,!1)),o.push(i(g[0],!0)),u=g.index+g[0].length}return u<f.length&&o.push(r(f.slice(u),!1)),o}}function a(e,n){return typeof e=="string"&&typeof n=="string"?e.toLowerCase()===n.toLowerCase():e===void 0&&n===void 0}const b=(e,n)=>{for(let t=0;t<e.length;t++){let i=e[t];if(a(i,n))return!0}return!1},h=e=>e.replaceAll(/[\u4e00-\u9fa5]/g,"--").length,p=(e,n,t=" ")=>{const i=n-(h(e)-e.length);return e.padEnd(i,t)};function F(e){const n=e.lastIndexOf(".");return n===-1?"":e.substring(n+1)}function m(e){let n=e.lastIndexOf("/");return n===-1&&(n=e.lastIndexOf("\\"),n===-1)?e:e.substring(n+1)}function N(e){const n=m(e),t=n.lastIndexOf(".");return t===-1?n:n.substring(0,t)}function w(e,n="win32"){const t=n==="win32"?"\\":"/";let i,r,f,o;const c=e.lastIndexOf(t);c===-1?(i="",r=e):(i=e.substring(0,c+1),r=e.substring(c+1));const u=r.lastIndexOf(".");return u===-1?(f="",o=r):(f=r.substring(u+1),o=r.substring(0,u)),{fileName:r,fileNameNoExt:o,fileExtName:f,fullPath:e,pathOnly:i}}const d={of(e){function n(t){return t==null}return{get(){return e},orElse(t){return n(e)?t:e},then(t,i){n(e)?i&&i():t(e)},ifPresent(t){e!=null&&t(e)},isPresent(){return!n(e)},filter(t){return n(e)||t(e)?this:d.of(void 0)},map(t){return e==null?d.of(void 0):d.of(t(e))},flatMap(t){return t(e)}}}};s.Optional=d,s.RecordClearMode=l,s.assignRecords=y,s.equalsIgnoreCase=a,s.extendRecord=x,s.getFileExt=F,s.getFileInfo=w,s.getFileName=m,s.getFileNameWithoutExt=N,s.includeIgnoreCase=b,s.strLength=h,s.strMonospacePad=p,s.stringTokenizer=E,s.withRecord=O,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}); (function(r,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(r=typeof globalThis<"u"?globalThis:r||self,o(r["ez-common-ts"]={}))})(this,function(r){"use strict";var o=(e=>(e[e.delete=2]="delete",e[e.reset=1]="reset",e))(o||{});const O=e=>({clear:function(n=2){n===1?Object.keys(e).forEach(t=>{e[t]=void 0}):n===2&&Object.keys(e).forEach(t=>{delete e[t]})},replace:function(n){this.clear(2),Object.assign(e,n)}});function E(...e){let n=e??[];return{test:function(t){if(n.length<=1)return n.length===1?n[0]:[];let f=t??function(i,s){return i===s};return n.reduce((i,s)=>(s&&s.length>0&&(i.length===0?i.push(...s):s.forEach(u=>{i.some(l=>f(l,u))||i.push(u)})),i),[])},path:function(...t){return this.test((f,i)=>t.every(s=>f[s]===i[s]))}}}function b(e,n,t){const f=n,i=t||n;return function(s){const u=[],c=s.matchAll(e);let l=0;for(const d of c){const I=s.slice(l,d.index);I&&u.push(i(I,!1)),u.push(f(d[0],!0)),l=d.index+d[0].length}return l<s.length&&u.push(i(s.slice(l),!1)),u}}function a(e,n){return typeof e=="string"&&typeof n=="string"?e.toLowerCase()===n.toLowerCase():e===void 0&&n===void 0}const x=(e,n)=>{for(let t=0;t<e.length;t++){let f=e[t];if(a(f,n))return!0}return!1},h=e=>e.replaceAll(/[\u4e00-\u9fa5]/g,"--").length,y=(e,n,t=" ")=>{const f=n-(h(e)-e.length);return e.padEnd(f,t)};function p(e){const n=e.lastIndexOf(".");return n===-1?"":e.substring(n+1)}function m(e){let n=e.lastIndexOf("/");return n===-1&&(n=e.lastIndexOf("\\"),n===-1)?e:e.substring(n+1)}function F(e){const n=m(e),t=n.lastIndexOf(".");return t===-1?n:n.substring(0,t)}function N(e,n="win32"){const t=n==="win32"?"\\":"/";let f,i,s,u;const c=e.lastIndexOf(t);c===-1?(f="",i=e):(f=e.substring(0,c+1),i=e.substring(c+1));const l=i.lastIndexOf(".");return l===-1?(s="",u=i):(s=i.substring(l+1),u=i.substring(0,l)),{fileName:i,fileNameNoExt:u,fileExtName:s,fullPath:e,pathOnly:f}}const g={of(e){function n(t){return t==null}return{get(){return e},orElse(t){return n(e)?t:e},then(t,f){n(e)?f&&f():t(e)},ifPresent(t){e!=null&&t(e)},isPresent(){return!n(e)},filter(t){return n(e)||t(e)?this:g.of(void 0)},map(t){return e==null?g.of(void 0):g.of(t(e))},flatMap(t){return t(e)}}}};r.Optional=g,r.RecordClearMode=o,r.assignRecords=E,r.equalsIgnoreCase=a,r.getFileExt=p,r.getFileInfo=N,r.getFileName=m,r.getFileNameWithoutExt=F,r.includeIgnoreCase=x,r.strLength=h,r.strMonospacePad=y,r.stringTokenizer=b,r.withRecord=O,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
//# sourceMappingURL=index.umd.js.map //# sourceMappingURL=index.umd.js.map

File diff suppressed because one or more lines are too long

View File

@ -9,8 +9,7 @@
"types": "./lib/index.d.ts", "types": "./lib/index.d.ts",
"scripts": { "scripts": {
"build": "tsc && vite build", "build": "tsc && vite build",
"build-and-commit": "tsc && vite build && git commit -am \"build\"", "push": "tsc && vite build && git commit -am \"build\" && git push && git tag v0.0.2 && git push --tags",
"push-and-tag": "git push",
"test": "vitest" "test": "vitest"
}, },
"devDependencies": { "devDependencies": {

View File

@ -29,8 +29,8 @@ export const withRecord = (obj: UnwrapNestedRefs<Record<string, any>>) => {
* test * test
* path * path
* @param arrays * @param arrays
* @returns * @returns
*/ */
export function assignRecords<T extends Record<string, any>>(...arrays: T[][]) { export function assignRecords<T extends Record<string, any>>(...arrays: T[][]) {
let _arrays = arrays ?? []; let _arrays = arrays ?? [];
@ -82,7 +82,7 @@ export function assignRecords<T extends Record<string, any>>(...arrays: T[][]) {
* @param sources * @param sources
* @returns * @returns
*/ */
export const extendRecord = <T extends Record<string, any>>( export const extend = <T extends Record<string, any>>(
// 目标对象 // 目标对象
target: T, target: T,
// 其他对象参数 // 其他对象参数

View File

@ -2,7 +2,6 @@ import {
withRecord, withRecord,
assignRecords, assignRecords,
RecordClearMode, RecordClearMode,
extendRecord,
} from "./commons/record-util"; } from "./commons/record-util";
import { import {
stringTokenizer, stringTokenizer,
@ -24,7 +23,6 @@ export {
RecordClearMode, RecordClearMode,
assignRecords, assignRecords,
equalsIgnoreCase, equalsIgnoreCase,
extendRecord,
getFileExt, getFileExt,
getFileFullName as getFileName, getFileFullName as getFileName,
getFileInfo, getFileInfo,