@tikkhun/nested-args 0.0.0 → 0.0.2

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.
Files changed (80) hide show
  1. package/README.md +22 -2
  2. package/dist/arg-type.interface.d.mts +8 -0
  3. package/dist/arg-type.interface.d.ts +8 -0
  4. package/dist/{paramTypes → arg-types}/array.type.d.mts +2 -2
  5. package/dist/{paramTypes → arg-types}/array.type.d.ts +2 -2
  6. package/dist/arg-types/array.type.js +4 -0
  7. package/dist/arg-types/array.type.mjs +4 -0
  8. package/dist/{paramTypes → arg-types}/boolean.type.d.mts +2 -2
  9. package/dist/{paramTypes → arg-types}/boolean.type.d.ts +2 -2
  10. package/dist/arg-types/boolean.type.js +4 -0
  11. package/dist/arg-types/boolean.type.mjs +4 -0
  12. package/dist/{paramTypes → arg-types}/index.d.mts +2 -2
  13. package/dist/{paramTypes → arg-types}/index.d.ts +2 -2
  14. package/dist/arg-types/index.js +4 -0
  15. package/dist/arg-types/index.mjs +4 -0
  16. package/dist/arg-types/json.type.d.mts +5 -0
  17. package/dist/arg-types/json.type.d.ts +5 -0
  18. package/dist/arg-types/json.type.js +4 -0
  19. package/dist/arg-types/json.type.mjs +4 -0
  20. package/dist/arg-types/key-value-array.type.d.mts +5 -0
  21. package/dist/arg-types/key-value-array.type.d.ts +5 -0
  22. package/dist/arg-types/key-value-array.type.js +4 -0
  23. package/dist/arg-types/key-value-array.type.mjs +4 -0
  24. package/dist/arg-types/number.type.d.mts +5 -0
  25. package/dist/arg-types/number.type.d.ts +5 -0
  26. package/dist/arg-types/number.type.js +4 -0
  27. package/dist/arg-types/number.type.mjs +4 -0
  28. package/dist/arg-types/object-array.type.d.mts +5 -0
  29. package/dist/arg-types/object-array.type.d.ts +5 -0
  30. package/dist/arg-types/object-array.type.js +4 -0
  31. package/dist/arg-types/object-array.type.mjs +4 -0
  32. package/dist/arg-types/object.type.d.mts +5 -0
  33. package/dist/arg-types/object.type.d.ts +5 -0
  34. package/dist/arg-types/object.type.js +4 -0
  35. package/dist/arg-types/object.type.mjs +4 -0
  36. package/dist/arg-types/string.type.d.mts +5 -0
  37. package/dist/arg-types/string.type.d.ts +5 -0
  38. package/dist/arg-types/string.type.js +4 -0
  39. package/dist/arg-types/string.type.mjs +4 -0
  40. package/dist/{paramTypes/param.type.d.mts → arg.type.d.mts} +4 -4
  41. package/dist/{paramTypes/param.type.d.ts → arg.type.d.ts} +4 -4
  42. package/dist/arg.type.js +4 -0
  43. package/dist/arg.type.mjs +4 -0
  44. package/dist/index.d.mts +10 -9
  45. package/dist/index.d.ts +10 -9
  46. package/dist/index.js +2 -2
  47. package/dist/index.mjs +2 -2
  48. package/dist/nested-args.d.mts +14 -8
  49. package/dist/nested-args.d.ts +14 -8
  50. package/dist/nested-args.js +2 -2
  51. package/dist/nested-args.mjs +2 -2
  52. package/package.json +4 -2
  53. package/dist/paramTypes/array.type.js +0 -4
  54. package/dist/paramTypes/array.type.mjs +0 -4
  55. package/dist/paramTypes/boolean.type.js +0 -4
  56. package/dist/paramTypes/boolean.type.mjs +0 -4
  57. package/dist/paramTypes/index.js +0 -4
  58. package/dist/paramTypes/index.mjs +0 -4
  59. package/dist/paramTypes/key-value-array.type.d.mts +0 -5
  60. package/dist/paramTypes/key-value-array.type.d.ts +0 -5
  61. package/dist/paramTypes/key-value-array.type.js +0 -4
  62. package/dist/paramTypes/key-value-array.type.mjs +0 -4
  63. package/dist/paramTypes/number.type.d.mts +0 -5
  64. package/dist/paramTypes/number.type.d.ts +0 -5
  65. package/dist/paramTypes/number.type.js +0 -4
  66. package/dist/paramTypes/number.type.mjs +0 -4
  67. package/dist/paramTypes/object-array.type.d.mts +0 -5
  68. package/dist/paramTypes/object-array.type.d.ts +0 -5
  69. package/dist/paramTypes/object-array.type.js +0 -4
  70. package/dist/paramTypes/object-array.type.mjs +0 -4
  71. package/dist/paramTypes/object.type.d.mts +0 -5
  72. package/dist/paramTypes/object.type.d.ts +0 -5
  73. package/dist/paramTypes/object.type.js +0 -4
  74. package/dist/paramTypes/object.type.mjs +0 -4
  75. package/dist/paramTypes/param-type.interface.d.mts +0 -6
  76. package/dist/paramTypes/param-type.interface.d.ts +0 -6
  77. package/dist/paramTypes/param.type.js +0 -4
  78. package/dist/paramTypes/param.type.mjs +0 -4
  79. /package/dist/{paramTypes/param-type.interface.js → arg-type.interface.js} +0 -0
  80. /package/dist/{paramTypes/param-type.interface.mjs → arg-type.interface.mjs} +0 -0
package/README.md CHANGED
@@ -1,8 +1,28 @@
1
- # args
1
+ # nested-args
2
+
3
+ 最终配置文件是嵌套的对象,而用户输入配置是单层非嵌套的key+字符串类型的值的形式。
4
+ parse就是将用户输入的配置转换为嵌套的对象。
5
+ stringify就是将嵌套的对象转换为用户输入的配置。(常用于作为默认值)
6
+
7
+ ## 安装
8
+
9
+ ```bash
10
+ npm install @tikkhun/nested-args
11
+ ```
2
12
 
3
13
  ## 使用
4
14
 
5
15
  ```javascript
16
+ import { NestedArgs, TYPES } from '@tikkhun/nested-args';
6
17
 
7
-
18
+ const nestedArgs = new NestedArgs({
19
+ a: {
20
+ b: 'string',
21
+ c: 'number',
22
+ d: 'boolean',
23
+ e: 'array',
24
+ f: 'object',
25
+ g: 'objectArray',
26
+ },
27
+ });
8
28
  ```
@@ -0,0 +1,8 @@
1
+ interface ArgType {
2
+ isThisType: (value: any) => boolean;
3
+ stringify: (value: any) => string;
4
+ parse: (value: string) => any;
5
+ [key: string]: any;
6
+ }
7
+
8
+ export type { ArgType };
@@ -0,0 +1,8 @@
1
+ interface ArgType {
2
+ isThisType: (value: any) => boolean;
3
+ stringify: (value: any) => string;
4
+ parse: (value: string) => any;
5
+ [key: string]: any;
6
+ }
7
+
8
+ export type { ArgType };
@@ -1,9 +1,9 @@
1
- import { ParamType } from './param-type.interface.mjs';
1
+ import { ArgType } from '../arg-type.interface.mjs';
2
2
 
3
3
  interface KeyValueItem {
4
4
  key: string;
5
5
  value: string;
6
6
  }
7
- declare const arrayType: ParamType;
7
+ declare const arrayType: ArgType;
8
8
 
9
9
  export { type KeyValueItem, arrayType };
@@ -1,9 +1,9 @@
1
- import { ParamType } from './param-type.interface.js';
1
+ import { ArgType } from '../arg-type.interface.js';
2
2
 
3
3
  interface KeyValueItem {
4
4
  key: string;
5
5
  value: string;
6
6
  }
7
- declare const arrayType: ParamType;
7
+ declare const arrayType: ArgType;
8
8
 
9
9
  export { type KeyValueItem, arrayType };
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var e={isThisType(r){return Array.isArray(r)},stringify(r){return r!=null&&r.length?Array.isArray(r)?r.map(t=>JSON.stringify(t)).toString():r.toString():""},parse(r){return r.split(",").map(t=>JSON.parse(t))}};exports.arrayType=e;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var e={isThisType(r){return Array.isArray(r)},stringify(r){return r!=null&&r.length?Array.isArray(r)?r.map(t=>JSON.stringify(t)).toString():r.toString():""},parse(r){return r.split(",").map(t=>JSON.parse(t))}};export{e as arrayType};
@@ -1,7 +1,7 @@
1
- import { ParamType } from './param-type.interface.mjs';
1
+ import { ArgType } from '../arg-type.interface.mjs';
2
2
 
3
3
  declare const asTrueValues: (string | number | boolean)[];
4
4
  declare const asFalseValues: (string | number | boolean)[];
5
- declare const booleanType: ParamType;
5
+ declare const booleanType: ArgType;
6
6
 
7
7
  export { asFalseValues, asTrueValues, booleanType };
@@ -1,7 +1,7 @@
1
- import { ParamType } from './param-type.interface.js';
1
+ import { ArgType } from '../arg-type.interface.js';
2
2
 
3
3
  declare const asTrueValues: (string | number | boolean)[];
4
4
  declare const asFalseValues: (string | number | boolean)[];
5
- declare const booleanType: ParamType;
5
+ declare const booleanType: ArgType;
6
6
 
7
7
  export { asFalseValues, asTrueValues, booleanType };
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var r=["true",true,"1",1],t=["false",false,"",0],o={isThisType(e){return typeof e=="boolean"},stringify(e){return e.toString()},parse(e){return !!r.includes(e)}};exports.asFalseValues=t;exports.asTrueValues=r;exports.booleanType=o;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var r=["true",true,"1",1],t=["false",false,"",0],o={isThisType(e){return typeof e=="boolean"},stringify(e){return e.toString()},parse(e){return !!r.includes(e)}};export{t as asFalseValues,r as asTrueValues,o as booleanType};
@@ -4,5 +4,5 @@ export { keyValueArrayType } from './key-value-array.type.mjs';
4
4
  export { numberType } from './number.type.mjs';
5
5
  export { objectArrayType } from './object-array.type.mjs';
6
6
  export { objectType } from './object.type.mjs';
7
- export { ParamType } from './param-type.interface.mjs';
8
- export { TYPES } from './param.type.mjs';
7
+ export { jsonType } from './json.type.mjs';
8
+ import '../arg-type.interface.mjs';
@@ -4,5 +4,5 @@ export { keyValueArrayType } from './key-value-array.type.js';
4
4
  export { numberType } from './number.type.js';
5
5
  export { objectArrayType } from './object-array.type.js';
6
6
  export { objectType } from './object.type.js';
7
- export { ParamType } from './param-type.interface.js';
8
- export { TYPES } from './param.type.js';
7
+ export { jsonType } from './json.type.js';
8
+ import '../arg-type.interface.js';
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var s={isThisType(r){return Array.isArray(r)},stringify(r){return r!=null&&r.length?Array.isArray(r)?r.map(e=>JSON.stringify(e)).toString():r.toString():""},parse(r){return r.split(",").map(e=>JSON.parse(e))}};var o=["true",true,"1",1],i=["false",false,"",0],p={isThisType(r){return typeof r=="boolean"},stringify(r){return r.toString()},parse(r){return !!o.includes(r)}};var g={isThisType(r){return Array.isArray(r)&&r.every(e=>this.isKeyValueObject(e))},isKeyValueObject(r){return "key"in r&&"value"in r},stringify(r){return r!=null&&r.length?r.map(e=>{let t=JSON.stringify(e==null?void 0:e.value);return `${e==null?void 0:e.key}=${t}`}).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[t,n]=e.split("=");try{return {key:t,value:JSON.parse(n)}}catch(y){return {key:t,value:n}}}).filter(e=>e):[]}};var l={isThisType(r){return typeof r=="number"},stringify(r){return r.toString()},parse(r){return Number(r)}};var c={isThisType(r){return Array.isArray(r)},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};var m={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return {}}}};var x={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return console.error("JSON parse error:",e==null?void 0:e.message),null}}};exports.arrayType=s;exports.asFalseValues=i;exports.asTrueValues=o;exports.booleanType=p;exports.jsonType=x;exports.keyValueArrayType=g;exports.numberType=l;exports.objectArrayType=c;exports.objectType=m;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var s={isThisType(r){return Array.isArray(r)},stringify(r){return r!=null&&r.length?Array.isArray(r)?r.map(e=>JSON.stringify(e)).toString():r.toString():""},parse(r){return r.split(",").map(e=>JSON.parse(e))}};var o=["true",true,"1",1],i=["false",false,"",0],p={isThisType(r){return typeof r=="boolean"},stringify(r){return r.toString()},parse(r){return !!o.includes(r)}};var g={isThisType(r){return Array.isArray(r)&&r.every(e=>this.isKeyValueObject(e))},isKeyValueObject(r){return "key"in r&&"value"in r},stringify(r){return r!=null&&r.length?r.map(e=>{let t=JSON.stringify(e==null?void 0:e.value);return `${e==null?void 0:e.key}=${t}`}).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[t,n]=e.split("=");try{return {key:t,value:JSON.parse(n)}}catch(y){return {key:t,value:n}}}).filter(e=>e):[]}};var l={isThisType(r){return typeof r=="number"},stringify(r){return r.toString()},parse(r){return Number(r)}};var c={isThisType(r){return Array.isArray(r)},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};var m={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return {}}}};var x={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return console.error("JSON parse error:",e==null?void 0:e.message),null}}};export{s as arrayType,i as asFalseValues,o as asTrueValues,p as booleanType,x as jsonType,g as keyValueArrayType,l as numberType,c as objectArrayType,m as objectType};
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.mjs';
2
+
3
+ declare const jsonType: ArgType;
4
+
5
+ export { jsonType };
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.js';
2
+
3
+ declare const jsonType: ArgType;
4
+
5
+ export { jsonType };
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var n={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return console.error("JSON parse error:",e==null?void 0:e.message),null}}};exports.jsonType=n;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var n={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return console.error("JSON parse error:",e==null?void 0:e.message),null}}};export{n as jsonType};
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.mjs';
2
+
3
+ declare const keyValueArrayType: ArgType;
4
+
5
+ export { keyValueArrayType };
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.js';
2
+
3
+ declare const keyValueArrayType: ArgType;
4
+
5
+ export { keyValueArrayType };
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var t={isThisType(r){return Array.isArray(r)&&r.every(e=>this.isKeyValueObject(e))},isKeyValueObject(r){return "key"in r&&"value"in r},stringify(r){return r!=null&&r.length?r.map(e=>{let n=JSON.stringify(e==null?void 0:e.value);return `${e==null?void 0:e.key}=${n}`}).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[n,a]=e.split("=");try{return {key:n,value:JSON.parse(a)}}catch(y){return {key:n,value:a}}}).filter(e=>e):[]}};exports.keyValueArrayType=t;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var t={isThisType(r){return Array.isArray(r)&&r.every(e=>this.isKeyValueObject(e))},isKeyValueObject(r){return "key"in r&&"value"in r},stringify(r){return r!=null&&r.length?r.map(e=>{let n=JSON.stringify(e==null?void 0:e.value);return `${e==null?void 0:e.key}=${n}`}).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[n,a]=e.split("=");try{return {key:n,value:JSON.parse(a)}}catch(y){return {key:n,value:a}}}).filter(e=>e):[]}};export{t as keyValueArrayType};
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.mjs';
2
+
3
+ declare const numberType: ArgType;
4
+
5
+ export { numberType };
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.js';
2
+
3
+ declare const numberType: ArgType;
4
+
5
+ export { numberType };
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var e={isThisType(r){return typeof r=="number"},stringify(r){return r.toString()},parse(r){return Number(r)}};exports.numberType=e;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var e={isThisType(r){return typeof r=="number"},stringify(r){return r.toString()},parse(r){return Number(r)}};export{e as numberType};
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.mjs';
2
+
3
+ declare const objectArrayType: ArgType;
4
+
5
+ export { objectArrayType };
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.js';
2
+
3
+ declare const objectArrayType: ArgType;
4
+
5
+ export { objectArrayType };
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var t={isThisType(r){return Array.isArray(r)},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};exports.objectArrayType=t;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var t={isThisType(r){return Array.isArray(r)},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};export{t as objectArrayType};
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.mjs';
2
+
3
+ declare const objectType: ArgType;
4
+
5
+ export { objectType };
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.js';
2
+
3
+ declare const objectType: ArgType;
4
+
5
+ export { objectType };
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var t={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return {}}}};exports.objectType=t;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var t={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return {}}}};export{t as objectType};
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.mjs';
2
+
3
+ declare const stringType: ArgType;
4
+
5
+ export { stringType };
@@ -0,0 +1,5 @@
1
+ import { ArgType } from '../arg-type.interface.js';
2
+
3
+ declare const stringType: ArgType;
4
+
5
+ export { stringType };
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var t={isThisType(r){return typeof r=="string"},stringify(r){return r},parse(r){return r}};exports.stringType=t;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var t={isThisType(r){return typeof r=="string"},stringify(r){return r},parse(r){return r}};export{t as stringType};
@@ -1,12 +1,12 @@
1
1
  declare const TYPES: {
2
+ readonly boolean: "boolean";
3
+ readonly number: "number";
4
+ readonly string: "string";
2
5
  readonly array: "array";
3
6
  readonly keyValueArray: "keyValueArray";
4
7
  readonly objectArray: "objectArray";
5
- readonly boolean: "boolean";
6
- readonly number: "number";
7
8
  readonly object: "object";
8
- readonly string: "string";
9
- readonly select: "select";
9
+ readonly json: "json";
10
10
  };
11
11
  type TYPES = keyof typeof TYPES;
12
12
 
@@ -1,12 +1,12 @@
1
1
  declare const TYPES: {
2
+ readonly boolean: "boolean";
3
+ readonly number: "number";
4
+ readonly string: "string";
2
5
  readonly array: "array";
3
6
  readonly keyValueArray: "keyValueArray";
4
7
  readonly objectArray: "objectArray";
5
- readonly boolean: "boolean";
6
- readonly number: "number";
7
8
  readonly object: "object";
8
- readonly string: "string";
9
- readonly select: "select";
9
+ readonly json: "json";
10
10
  };
11
11
  type TYPES = keyof typeof TYPES;
12
12
 
@@ -0,0 +1,4 @@
1
+ 'use strict';/**
2
+ @tikkhun/nested-args
3
+ */
4
+ var r={boolean:"boolean",number:"number",string:"string",array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",object:"object",json:"json"};exports.TYPES=r;
@@ -0,0 +1,4 @@
1
+ /**
2
+ @tikkhun/nested-args
3
+ */
4
+ var r={boolean:"boolean",number:"number",string:"string",array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",object:"object",json:"json"};export{r as TYPES};
package/dist/index.d.mts CHANGED
@@ -1,9 +1,10 @@
1
- export { NestedArgs } from './nested-args.mjs';
2
- export { KeyValueItem, arrayType } from './paramTypes/array.type.mjs';
3
- export { asFalseValues, asTrueValues, booleanType } from './paramTypes/boolean.type.mjs';
4
- export { keyValueArrayType } from './paramTypes/key-value-array.type.mjs';
5
- export { numberType } from './paramTypes/number.type.mjs';
6
- export { objectArrayType } from './paramTypes/object-array.type.mjs';
7
- export { objectType } from './paramTypes/object.type.mjs';
8
- export { ParamType } from './paramTypes/param-type.interface.mjs';
9
- export { TYPES } from './paramTypes/param.type.mjs';
1
+ export { NestedArgs, NestedArgsOptions } from './nested-args.mjs';
2
+ export { KeyValueItem, arrayType } from './arg-types/array.type.mjs';
3
+ export { asFalseValues, asTrueValues, booleanType } from './arg-types/boolean.type.mjs';
4
+ export { keyValueArrayType } from './arg-types/key-value-array.type.mjs';
5
+ export { numberType } from './arg-types/number.type.mjs';
6
+ export { objectArrayType } from './arg-types/object-array.type.mjs';
7
+ export { objectType } from './arg-types/object.type.mjs';
8
+ export { jsonType } from './arg-types/json.type.mjs';
9
+ export { TYPES } from './arg.type.mjs';
10
+ export { ArgType } from './arg-type.interface.mjs';
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- export { NestedArgs } from './nested-args.js';
2
- export { KeyValueItem, arrayType } from './paramTypes/array.type.js';
3
- export { asFalseValues, asTrueValues, booleanType } from './paramTypes/boolean.type.js';
4
- export { keyValueArrayType } from './paramTypes/key-value-array.type.js';
5
- export { numberType } from './paramTypes/number.type.js';
6
- export { objectArrayType } from './paramTypes/object-array.type.js';
7
- export { objectType } from './paramTypes/object.type.js';
8
- export { ParamType } from './paramTypes/param-type.interface.js';
9
- export { TYPES } from './paramTypes/param.type.js';
1
+ export { NestedArgs, NestedArgsOptions } from './nested-args.js';
2
+ export { KeyValueItem, arrayType } from './arg-types/array.type.js';
3
+ export { asFalseValues, asTrueValues, booleanType } from './arg-types/boolean.type.js';
4
+ export { keyValueArrayType } from './arg-types/key-value-array.type.js';
5
+ export { numberType } from './arg-types/number.type.js';
6
+ export { objectArrayType } from './arg-types/object-array.type.js';
7
+ export { objectType } from './arg-types/object.type.js';
8
+ export { jsonType } from './arg-types/json.type.js';
9
+ export { TYPES } from './arg.type.js';
10
+ export { ArgType } from './arg-type.interface.js';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';/**
1
+ 'use strict';var utilsCore=require('@tikkhun/utils-core');/**
2
2
  @tikkhun/nested-args
3
3
  */
4
- var i={stringify(e){return e!=null&&e.length?e.toString():""},parse(e){return e.split(",")}};var b=["true",true,"1",1],l=["false",false,"",0],c={stringify(e){return e.toString()},parse(e){return !!b.includes(e)}};var y={stringify(e){return e!=null&&e.length?e.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(e){return e?e.split(",").map(r=>{if(!r)return;let[t,n]=r.split("=");return {key:t,value:n}}).filter(r=>r):[]}};var u={stringify(e){return e.toString()},parse(e){return Number(e)}};var p={stringify(e){return JSON.stringify(e)},parse(e){try{return JSON.parse(e)||[]}catch(r){return []}}};var g={stringify(e){return JSON.stringify(e)},parse(e){return typeof e=="object"?JSON.parse(e):{}}};var a={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object",string:"string",select:"select"};var m=class e{constructor(r){this.schema=r;}parse(r){return e.parse(r,this.schema)}static parse(r,t){let n={};return Object.entries(r).forEach(([s,o])=>{let f=t[s];typeof o=="object"?n[s]=e.parse(o,f):n[s]=e.parseValueByType(o,f);}),n}static parseValueByType(r,t){if(r!=="undefined")return t===a.keyValueArray?y.parse(r):t===a.objectArray?p.parse(r):t===a.array?i.parse(r):t===a.object?g.parse(r):t===a.number?u.parse(r):t===a.boolean?c.parse(r):r}static stringify(r){let t={};return Object.entries(r).forEach(([n,s])=>{t[n]=e.stringifyValue(s);}),t}static stringifyValue(r){if(Array.isArray(r)){let t=r[0];return typeof t=="object"?this.isKeyValueObject(t)?y.stringify(r):p.stringify(r):i.stringify(r)}return typeof r=="object"?e.stringify(r):""+r}static isKeyValueObject(r){let t=Object.keys(r);return t[0]==="key"&&t[1]==="value"}};exports.NestedArgs=m;exports.TYPES=a;exports.arrayType=i;exports.asFalseValues=l;exports.asTrueValues=b;exports.booleanType=c;exports.keyValueArrayType=y;exports.numberType=u;exports.objectArrayType=p;exports.objectType=g;
4
+ var J=Object.defineProperty,P=Object.defineProperties;var R=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var E=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable;var m=(r,e,t)=>e in r?J(r,e,{enumerable:true,configurable:true,writable:true,value:t}):r[e]=t,c=(r,e)=>{for(var t in e||(e={}))E.call(e,t)&&m(r,t,e[t]);if(T)for(var t of T(e))K.call(e,t)&&m(r,t,e[t]);return r},u=(r,e)=>P(r,R(e));var s={boolean:"boolean",number:"number",string:"string",array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",object:"object",json:"json"};var b={isThisType(r){return Array.isArray(r)},stringify(r){return r!=null&&r.length?Array.isArray(r)?r.map(e=>JSON.stringify(e)).toString():r.toString():""},parse(r){return r.split(",").map(e=>JSON.parse(e))}};var k=["true",true,"1",1],$=["false",false,"",0],A={isThisType(r){return typeof r=="boolean"},stringify(r){return r.toString()},parse(r){return !!k.includes(r)}};var h={isThisType(r){return Array.isArray(r)&&r.every(e=>this.isKeyValueObject(e))},isKeyValueObject(r){return "key"in r&&"value"in r},stringify(r){return r!=null&&r.length?r.map(e=>{let t=JSON.stringify(e==null?void 0:e.value);return `${e==null?void 0:e.key}=${t}`}).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[t,n]=e.split("=");try{return {key:t,value:JSON.parse(n)}}catch(i){return {key:t,value:n}}}).filter(e=>e):[]}};var j={isThisType(r){return typeof r=="number"},stringify(r){return r.toString()},parse(r){return Number(r)}};var x={isThisType(r){return Array.isArray(r)},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};var O={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return {}}}};var d={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return console.error("JSON parse error:",e==null?void 0:e.message),null}}};var S={isThisType(r){return typeof r=="string"},stringify(r){return r},parse(r){return r}};var y=class y{static parse(e,t=this.options){let n=utilsCore.mergeOptions(this.options,t),i={};return Object.entries(e).forEach(([o,a])=>{var l;if(V(a)){i[o]=this.parse(a,u(c({},n),{schema:n.schema[o]}));return}let p=((l=n.schema)==null?void 0:l[o])||s.string,g=n.typeHandlers[p];i[o]=g.parse(a);}),i}static stringify(e,t){let n=utilsCore.mergeOptions(this.options,t),i={};return Object.entries(e).forEach(([o,a])=>{let p=n.schema[o]||s.string;if(V(a)&&typeof p=="object"){i[o]=this.stringify(a,u(c({},n),{schema:n.schema[o]}));return}let g=n.typeHandlers[p];i[o]=g.stringify(a);}),i}constructor(e){this.options=utilsCore.mergeOptions(y.options,e);}parse(e){return y.parse(e,this.options)}stringify(e){return y.stringify(e,this.options)}};y.options={schema:{},types:[...Object.values(s)],typeHandlers:{[s.boolean]:A,[s.number]:j,[s.string]:S,[s.array]:b,[s.keyValueArray]:h,[s.json]:d,[s.object]:O,[s.objectArray]:x}};var N=y;function V(r){return Array.isArray(r)?false:typeof r=="object"}exports.NestedArgs=N;exports.TYPES=s;exports.arrayType=b;exports.asFalseValues=$;exports.asTrueValues=k;exports.booleanType=A;exports.jsonType=d;exports.keyValueArrayType=h;exports.numberType=j;exports.objectArrayType=x;exports.objectType=O;
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /**
1
+ import {mergeOptions}from'@tikkhun/utils-core';/**
2
2
  @tikkhun/nested-args
3
3
  */
4
- var i={stringify(e){return e!=null&&e.length?e.toString():""},parse(e){return e.split(",")}};var b=["true",true,"1",1],l=["false",false,"",0],c={stringify(e){return e.toString()},parse(e){return !!b.includes(e)}};var y={stringify(e){return e!=null&&e.length?e.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(e){return e?e.split(",").map(r=>{if(!r)return;let[t,n]=r.split("=");return {key:t,value:n}}).filter(r=>r):[]}};var u={stringify(e){return e.toString()},parse(e){return Number(e)}};var p={stringify(e){return JSON.stringify(e)},parse(e){try{return JSON.parse(e)||[]}catch(r){return []}}};var g={stringify(e){return JSON.stringify(e)},parse(e){return typeof e=="object"?JSON.parse(e):{}}};var a={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object",string:"string",select:"select"};var m=class e{constructor(r){this.schema=r;}parse(r){return e.parse(r,this.schema)}static parse(r,t){let n={};return Object.entries(r).forEach(([s,o])=>{let f=t[s];typeof o=="object"?n[s]=e.parse(o,f):n[s]=e.parseValueByType(o,f);}),n}static parseValueByType(r,t){if(r!=="undefined")return t===a.keyValueArray?y.parse(r):t===a.objectArray?p.parse(r):t===a.array?i.parse(r):t===a.object?g.parse(r):t===a.number?u.parse(r):t===a.boolean?c.parse(r):r}static stringify(r){let t={};return Object.entries(r).forEach(([n,s])=>{t[n]=e.stringifyValue(s);}),t}static stringifyValue(r){if(Array.isArray(r)){let t=r[0];return typeof t=="object"?this.isKeyValueObject(t)?y.stringify(r):p.stringify(r):i.stringify(r)}return typeof r=="object"?e.stringify(r):""+r}static isKeyValueObject(r){let t=Object.keys(r);return t[0]==="key"&&t[1]==="value"}};export{m as NestedArgs,a as TYPES,i as arrayType,l as asFalseValues,b as asTrueValues,c as booleanType,y as keyValueArrayType,u as numberType,p as objectArrayType,g as objectType};
4
+ var J=Object.defineProperty,P=Object.defineProperties;var R=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var E=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable;var m=(r,e,t)=>e in r?J(r,e,{enumerable:true,configurable:true,writable:true,value:t}):r[e]=t,c=(r,e)=>{for(var t in e||(e={}))E.call(e,t)&&m(r,t,e[t]);if(T)for(var t of T(e))K.call(e,t)&&m(r,t,e[t]);return r},u=(r,e)=>P(r,R(e));var s={boolean:"boolean",number:"number",string:"string",array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",object:"object",json:"json"};var b={isThisType(r){return Array.isArray(r)},stringify(r){return r!=null&&r.length?Array.isArray(r)?r.map(e=>JSON.stringify(e)).toString():r.toString():""},parse(r){return r.split(",").map(e=>JSON.parse(e))}};var k=["true",true,"1",1],$=["false",false,"",0],A={isThisType(r){return typeof r=="boolean"},stringify(r){return r.toString()},parse(r){return !!k.includes(r)}};var h={isThisType(r){return Array.isArray(r)&&r.every(e=>this.isKeyValueObject(e))},isKeyValueObject(r){return "key"in r&&"value"in r},stringify(r){return r!=null&&r.length?r.map(e=>{let t=JSON.stringify(e==null?void 0:e.value);return `${e==null?void 0:e.key}=${t}`}).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[t,n]=e.split("=");try{return {key:t,value:JSON.parse(n)}}catch(i){return {key:t,value:n}}}).filter(e=>e):[]}};var j={isThisType(r){return typeof r=="number"},stringify(r){return r.toString()},parse(r){return Number(r)}};var x={isThisType(r){return Array.isArray(r)},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};var O={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return {}}}};var d={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return console.error("JSON parse error:",e==null?void 0:e.message),null}}};var S={isThisType(r){return typeof r=="string"},stringify(r){return r},parse(r){return r}};var y=class y{static parse(e,t=this.options){let n=mergeOptions(this.options,t),i={};return Object.entries(e).forEach(([o,a])=>{var l;if(V(a)){i[o]=this.parse(a,u(c({},n),{schema:n.schema[o]}));return}let p=((l=n.schema)==null?void 0:l[o])||s.string,g=n.typeHandlers[p];i[o]=g.parse(a);}),i}static stringify(e,t){let n=mergeOptions(this.options,t),i={};return Object.entries(e).forEach(([o,a])=>{let p=n.schema[o]||s.string;if(V(a)&&typeof p=="object"){i[o]=this.stringify(a,u(c({},n),{schema:n.schema[o]}));return}let g=n.typeHandlers[p];i[o]=g.stringify(a);}),i}constructor(e){this.options=mergeOptions(y.options,e);}parse(e){return y.parse(e,this.options)}stringify(e){return y.stringify(e,this.options)}};y.options={schema:{},types:[...Object.values(s)],typeHandlers:{[s.boolean]:A,[s.number]:j,[s.string]:S,[s.array]:b,[s.keyValueArray]:h,[s.json]:d,[s.object]:O,[s.objectArray]:x}};var N=y;function V(r){return Array.isArray(r)?false:typeof r=="object"}export{N as NestedArgs,s as TYPES,b as arrayType,$ as asFalseValues,k as asTrueValues,A as booleanType,d as jsonType,h as keyValueArrayType,j as numberType,x as objectArrayType,O as objectType};
@@ -1,12 +1,18 @@
1
- declare class NestedArgs {
1
+ import { TYPES } from './arg.type.mjs';
2
+
3
+ interface NestedArgsOptions {
2
4
  schema: Record<string, any>;
3
- constructor(schema: Record<string, any>);
5
+ typeHandlers: Record<string, any>;
6
+ types: TYPES | string[];
7
+ }
8
+ declare class NestedArgs {
9
+ static options: NestedArgsOptions;
10
+ static parse(obj: Record<string, any>, options?: Partial<NestedArgsOptions>): Record<string, any>;
11
+ static stringify(obj: Record<string, any>, options?: Partial<NestedArgsOptions>): Record<string, any>;
12
+ options: NestedArgsOptions;
13
+ constructor(options?: Partial<NestedArgsOptions>);
4
14
  parse(obj: Record<string, any>): Record<string, any>;
5
- static parse(obj: Record<string, any>, schema: Record<string, any>): Record<string, any>;
6
- private static parseValueByType;
7
- static stringify(obj: Record<string, any>): Record<string, any>;
8
- private static stringifyValue;
9
- private static isKeyValueObject;
15
+ stringify(obj: Record<string, any>): Record<string, any>;
10
16
  }
11
17
 
12
- export { NestedArgs };
18
+ export { NestedArgs, type NestedArgsOptions };
@@ -1,12 +1,18 @@
1
- declare class NestedArgs {
1
+ import { TYPES } from './arg.type.js';
2
+
3
+ interface NestedArgsOptions {
2
4
  schema: Record<string, any>;
3
- constructor(schema: Record<string, any>);
5
+ typeHandlers: Record<string, any>;
6
+ types: TYPES | string[];
7
+ }
8
+ declare class NestedArgs {
9
+ static options: NestedArgsOptions;
10
+ static parse(obj: Record<string, any>, options?: Partial<NestedArgsOptions>): Record<string, any>;
11
+ static stringify(obj: Record<string, any>, options?: Partial<NestedArgsOptions>): Record<string, any>;
12
+ options: NestedArgsOptions;
13
+ constructor(options?: Partial<NestedArgsOptions>);
4
14
  parse(obj: Record<string, any>): Record<string, any>;
5
- static parse(obj: Record<string, any>, schema: Record<string, any>): Record<string, any>;
6
- private static parseValueByType;
7
- static stringify(obj: Record<string, any>): Record<string, any>;
8
- private static stringifyValue;
9
- private static isKeyValueObject;
15
+ stringify(obj: Record<string, any>): Record<string, any>;
10
16
  }
11
17
 
12
- export { NestedArgs };
18
+ export { NestedArgs, type NestedArgsOptions };
@@ -1,4 +1,4 @@
1
- 'use strict';/**
1
+ 'use strict';var utilsCore=require('@tikkhun/utils-core');/**
2
2
  @tikkhun/nested-args
3
3
  */
4
- var i={stringify(e){return e!=null&&e.length?e.toString():""},parse(e){return e.split(",")}};var b=["true",true,"1",1];var f={stringify(e){return e.toString()},parse(e){return !!b.includes(e)}};var y={stringify(e){return e!=null&&e.length?e.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(e){return e?e.split(",").map(r=>{if(!r)return;let[t,n]=r.split("=");return {key:t,value:n}}).filter(r=>r):[]}};var u={stringify(e){return e.toString()},parse(e){return Number(e)}};var p={stringify(e){return JSON.stringify(e)},parse(e){try{return JSON.parse(e)||[]}catch(r){return []}}};var g={stringify(e){return JSON.stringify(e)},parse(e){return typeof e=="object"?JSON.parse(e):{}}};var a={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object"};var m=class e{constructor(r){this.schema=r;}parse(r){return e.parse(r,this.schema)}static parse(r,t){let n={};return Object.entries(r).forEach(([s,o])=>{let c=t[s];typeof o=="object"?n[s]=e.parse(o,c):n[s]=e.parseValueByType(o,c);}),n}static parseValueByType(r,t){if(r!=="undefined")return t===a.keyValueArray?y.parse(r):t===a.objectArray?p.parse(r):t===a.array?i.parse(r):t===a.object?g.parse(r):t===a.number?u.parse(r):t===a.boolean?f.parse(r):r}static stringify(r){let t={};return Object.entries(r).forEach(([n,s])=>{t[n]=e.stringifyValue(s);}),t}static stringifyValue(r){if(Array.isArray(r)){let t=r[0];return typeof t=="object"?this.isKeyValueObject(t)?y.stringify(r):p.stringify(r):i.stringify(r)}return typeof r=="object"?e.stringify(r):""+r}static isKeyValueObject(r){let t=Object.keys(r);return t[0]==="key"&&t[1]==="value"}};exports.NestedArgs=m;
4
+ var J=Object.defineProperty,P=Object.defineProperties;var R=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var E=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable;var m=(r,e,t)=>e in r?J(r,e,{enumerable:true,configurable:true,writable:true,value:t}):r[e]=t,c=(r,e)=>{for(var t in e||(e={}))E.call(e,t)&&m(r,t,e[t]);if(T)for(var t of T(e))K.call(e,t)&&m(r,t,e[t]);return r},u=(r,e)=>P(r,R(e));var s={boolean:"boolean",number:"number",string:"string",array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",object:"object",json:"json"};var b={isThisType(r){return Array.isArray(r)},stringify(r){return r!=null&&r.length?Array.isArray(r)?r.map(e=>JSON.stringify(e)).toString():r.toString():""},parse(r){return r.split(",").map(e=>JSON.parse(e))}};var k=["true",true,"1",1];var A={isThisType(r){return typeof r=="boolean"},stringify(r){return r.toString()},parse(r){return !!k.includes(r)}};var h={isThisType(r){return Array.isArray(r)&&r.every(e=>this.isKeyValueObject(e))},isKeyValueObject(r){return "key"in r&&"value"in r},stringify(r){return r!=null&&r.length?r.map(e=>{let t=JSON.stringify(e==null?void 0:e.value);return `${e==null?void 0:e.key}=${t}`}).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[t,n]=e.split("=");try{return {key:t,value:JSON.parse(n)}}catch(i){return {key:t,value:n}}}).filter(e=>e):[]}};var j={isThisType(r){return typeof r=="number"},stringify(r){return r.toString()},parse(r){return Number(r)}};var O={isThisType(r){return Array.isArray(r)},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};var x={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return {}}}};var d={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return console.error("JSON parse error:",e==null?void 0:e.message),null}}};var S={isThisType(r){return typeof r=="string"},stringify(r){return r},parse(r){return r}};var y=class y{static parse(e,t=this.options){let n=utilsCore.mergeOptions(this.options,t),i={};return Object.entries(e).forEach(([o,a])=>{var l;if(V(a)){i[o]=this.parse(a,u(c({},n),{schema:n.schema[o]}));return}let p=((l=n.schema)==null?void 0:l[o])||s.string,g=n.typeHandlers[p];i[o]=g.parse(a);}),i}static stringify(e,t){let n=utilsCore.mergeOptions(this.options,t),i={};return Object.entries(e).forEach(([o,a])=>{let p=n.schema[o]||s.string;if(V(a)&&typeof p=="object"){i[o]=this.stringify(a,u(c({},n),{schema:n.schema[o]}));return}let g=n.typeHandlers[p];i[o]=g.stringify(a);}),i}constructor(e){this.options=utilsCore.mergeOptions(y.options,e);}parse(e){return y.parse(e,this.options)}stringify(e){return y.stringify(e,this.options)}};y.options={schema:{},types:[...Object.values(s)],typeHandlers:{[s.boolean]:A,[s.number]:j,[s.string]:S,[s.array]:b,[s.keyValueArray]:h,[s.json]:d,[s.object]:x,[s.objectArray]:O}};var N=y;function V(r){return Array.isArray(r)?false:typeof r=="object"}exports.NestedArgs=N;
@@ -1,4 +1,4 @@
1
- /**
1
+ import {mergeOptions}from'@tikkhun/utils-core';/**
2
2
  @tikkhun/nested-args
3
3
  */
4
- var i={stringify(e){return e!=null&&e.length?e.toString():""},parse(e){return e.split(",")}};var b=["true",true,"1",1];var f={stringify(e){return e.toString()},parse(e){return !!b.includes(e)}};var y={stringify(e){return e!=null&&e.length?e.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(e){return e?e.split(",").map(r=>{if(!r)return;let[t,n]=r.split("=");return {key:t,value:n}}).filter(r=>r):[]}};var u={stringify(e){return e.toString()},parse(e){return Number(e)}};var p={stringify(e){return JSON.stringify(e)},parse(e){try{return JSON.parse(e)||[]}catch(r){return []}}};var g={stringify(e){return JSON.stringify(e)},parse(e){return typeof e=="object"?JSON.parse(e):{}}};var a={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object"};var m=class e{constructor(r){this.schema=r;}parse(r){return e.parse(r,this.schema)}static parse(r,t){let n={};return Object.entries(r).forEach(([s,o])=>{let c=t[s];typeof o=="object"?n[s]=e.parse(o,c):n[s]=e.parseValueByType(o,c);}),n}static parseValueByType(r,t){if(r!=="undefined")return t===a.keyValueArray?y.parse(r):t===a.objectArray?p.parse(r):t===a.array?i.parse(r):t===a.object?g.parse(r):t===a.number?u.parse(r):t===a.boolean?f.parse(r):r}static stringify(r){let t={};return Object.entries(r).forEach(([n,s])=>{t[n]=e.stringifyValue(s);}),t}static stringifyValue(r){if(Array.isArray(r)){let t=r[0];return typeof t=="object"?this.isKeyValueObject(t)?y.stringify(r):p.stringify(r):i.stringify(r)}return typeof r=="object"?e.stringify(r):""+r}static isKeyValueObject(r){let t=Object.keys(r);return t[0]==="key"&&t[1]==="value"}};export{m as NestedArgs};
4
+ var J=Object.defineProperty,P=Object.defineProperties;var R=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var E=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable;var m=(r,e,t)=>e in r?J(r,e,{enumerable:true,configurable:true,writable:true,value:t}):r[e]=t,c=(r,e)=>{for(var t in e||(e={}))E.call(e,t)&&m(r,t,e[t]);if(T)for(var t of T(e))K.call(e,t)&&m(r,t,e[t]);return r},u=(r,e)=>P(r,R(e));var s={boolean:"boolean",number:"number",string:"string",array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",object:"object",json:"json"};var b={isThisType(r){return Array.isArray(r)},stringify(r){return r!=null&&r.length?Array.isArray(r)?r.map(e=>JSON.stringify(e)).toString():r.toString():""},parse(r){return r.split(",").map(e=>JSON.parse(e))}};var k=["true",true,"1",1];var A={isThisType(r){return typeof r=="boolean"},stringify(r){return r.toString()},parse(r){return !!k.includes(r)}};var h={isThisType(r){return Array.isArray(r)&&r.every(e=>this.isKeyValueObject(e))},isKeyValueObject(r){return "key"in r&&"value"in r},stringify(r){return r!=null&&r.length?r.map(e=>{let t=JSON.stringify(e==null?void 0:e.value);return `${e==null?void 0:e.key}=${t}`}).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[t,n]=e.split("=");try{return {key:t,value:JSON.parse(n)}}catch(i){return {key:t,value:n}}}).filter(e=>e):[]}};var j={isThisType(r){return typeof r=="number"},stringify(r){return r.toString()},parse(r){return Number(r)}};var O={isThisType(r){return Array.isArray(r)},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};var x={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return {}}}};var d={isThisType(r){return typeof r=="object"},stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)}catch(e){return console.error("JSON parse error:",e==null?void 0:e.message),null}}};var S={isThisType(r){return typeof r=="string"},stringify(r){return r},parse(r){return r}};var y=class y{static parse(e,t=this.options){let n=mergeOptions(this.options,t),i={};return Object.entries(e).forEach(([o,a])=>{var l;if(V(a)){i[o]=this.parse(a,u(c({},n),{schema:n.schema[o]}));return}let p=((l=n.schema)==null?void 0:l[o])||s.string,g=n.typeHandlers[p];i[o]=g.parse(a);}),i}static stringify(e,t){let n=mergeOptions(this.options,t),i={};return Object.entries(e).forEach(([o,a])=>{let p=n.schema[o]||s.string;if(V(a)&&typeof p=="object"){i[o]=this.stringify(a,u(c({},n),{schema:n.schema[o]}));return}let g=n.typeHandlers[p];i[o]=g.stringify(a);}),i}constructor(e){this.options=mergeOptions(y.options,e);}parse(e){return y.parse(e,this.options)}stringify(e){return y.stringify(e,this.options)}};y.options={schema:{},types:[...Object.values(s)],typeHandlers:{[s.boolean]:A,[s.number]:j,[s.string]:S,[s.array]:b,[s.keyValueArray]:h,[s.json]:d,[s.object]:x,[s.objectArray]:O}};var N=y;function V(r){return Array.isArray(r)?false:typeof r=="object"}export{N as NestedArgs};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tikkhun/nested-args",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -26,7 +26,9 @@
26
26
  "keywords": [],
27
27
  "author": "",
28
28
  "license": "ISC",
29
- "dependencies": {},
29
+ "dependencies": {
30
+ "@tikkhun/utils-core": "0.0.20"
31
+ },
30
32
  "devDependencies": {
31
33
  "@types/node": "^20.3.1",
32
34
  "tsx": "^4.19.1",
@@ -1,4 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/nested-args
3
- */
4
- var t={stringify(r){return r!=null&&r.length?r.toString():""},parse(r){return r.split(",")}};exports.arrayType=t;
@@ -1,4 +0,0 @@
1
- /**
2
- @tikkhun/nested-args
3
- */
4
- var t={stringify(r){return r!=null&&r.length?r.toString():""},parse(r){return r.split(",")}};export{t as arrayType};
@@ -1,4 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/nested-args
3
- */
4
- var r=["true",true,"1",1],t=["false",false,"",0],s={stringify(e){return e.toString()},parse(e){return !!r.includes(e)}};exports.asFalseValues=t;exports.asTrueValues=r;exports.booleanType=s;
@@ -1,4 +0,0 @@
1
- /**
2
- @tikkhun/nested-args
3
- */
4
- var r=["true",true,"1",1],t=["false",false,"",0],s={stringify(e){return e.toString()},parse(e){return !!r.includes(e)}};export{t as asFalseValues,r as asTrueValues,s as booleanType};
@@ -1,4 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/nested-args
3
- */
4
- var o={stringify(r){return r!=null&&r.length?r.toString():""},parse(r){return r.split(",")}};var a=["true",true,"1",1],s=["false",false,"",0],y={stringify(r){return r.toString()},parse(r){return !!a.includes(r)}};var u={stringify(r){return r!=null&&r.length?r.map(e=>`${e==null?void 0:e.key}=${e==null?void 0:e.value}`).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[t,n]=e.split("=");return {key:t,value:n}}).filter(e=>e):[]}};var g={stringify(r){return r.toString()},parse(r){return Number(r)}};var l={stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};var T={stringify(r){return JSON.stringify(r)},parse(r){return typeof r=="object"?JSON.parse(r):{}}};var b={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object",string:"string",select:"select"};exports.TYPES=b;exports.arrayType=o;exports.asFalseValues=s;exports.asTrueValues=a;exports.booleanType=y;exports.keyValueArrayType=u;exports.numberType=g;exports.objectArrayType=l;exports.objectType=T;
@@ -1,4 +0,0 @@
1
- /**
2
- @tikkhun/nested-args
3
- */
4
- var o={stringify(r){return r!=null&&r.length?r.toString():""},parse(r){return r.split(",")}};var a=["true",true,"1",1],s=["false",false,"",0],y={stringify(r){return r.toString()},parse(r){return !!a.includes(r)}};var u={stringify(r){return r!=null&&r.length?r.map(e=>`${e==null?void 0:e.key}=${e==null?void 0:e.value}`).join(","):""},parse(r){return r?r.split(",").map(e=>{if(!e)return;let[t,n]=e.split("=");return {key:t,value:n}}).filter(e=>e):[]}};var g={stringify(r){return r.toString()},parse(r){return Number(r)}};var l={stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(e){return []}}};var T={stringify(r){return JSON.stringify(r)},parse(r){return typeof r=="object"?JSON.parse(r):{}}};var b={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object",string:"string",select:"select"};export{b as TYPES,o as arrayType,s as asFalseValues,a as asTrueValues,y as booleanType,u as keyValueArrayType,g as numberType,l as objectArrayType,T as objectType};
@@ -1,5 +0,0 @@
1
- import { ParamType } from './param-type.interface.mjs';
2
-
3
- declare const keyValueArrayType: ParamType;
4
-
5
- export { keyValueArrayType };
@@ -1,5 +0,0 @@
1
- import { ParamType } from './param-type.interface.js';
2
-
3
- declare const keyValueArrayType: ParamType;
4
-
5
- export { keyValueArrayType };
@@ -1,4 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/nested-args
3
- */
4
- var u={stringify(e){return e!=null&&e.length?e.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(e){return e?e.split(",").map(r=>{if(!r)return;let[n,a]=r.split("=");return {key:n,value:a}}).filter(r=>r):[]}};exports.keyValueArrayType=u;
@@ -1,4 +0,0 @@
1
- /**
2
- @tikkhun/nested-args
3
- */
4
- var u={stringify(e){return e!=null&&e.length?e.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(e){return e?e.split(",").map(r=>{if(!r)return;let[n,a]=r.split("=");return {key:n,value:a}}).filter(r=>r):[]}};export{u as keyValueArrayType};
@@ -1,5 +0,0 @@
1
- import { ParamType } from './param-type.interface.mjs';
2
-
3
- declare const numberType: ParamType;
4
-
5
- export { numberType };
@@ -1,5 +0,0 @@
1
- import { ParamType } from './param-type.interface.js';
2
-
3
- declare const numberType: ParamType;
4
-
5
- export { numberType };
@@ -1,4 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/nested-args
3
- */
4
- var t={stringify(r){return r.toString()},parse(r){return Number(r)}};exports.numberType=t;
@@ -1,4 +0,0 @@
1
- /**
2
- @tikkhun/nested-args
3
- */
4
- var t={stringify(r){return r.toString()},parse(r){return Number(r)}};export{t as numberType};
@@ -1,5 +0,0 @@
1
- import { ParamType } from './param-type.interface.mjs';
2
-
3
- declare const objectArrayType: ParamType;
4
-
5
- export { objectArrayType };
@@ -1,5 +0,0 @@
1
- import { ParamType } from './param-type.interface.js';
2
-
3
- declare const objectArrayType: ParamType;
4
-
5
- export { objectArrayType };
@@ -1,4 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/nested-args
3
- */
4
- var e={stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(t){return []}}};exports.objectArrayType=e;
@@ -1,4 +0,0 @@
1
- /**
2
- @tikkhun/nested-args
3
- */
4
- var e={stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(t){return []}}};export{e as objectArrayType};
@@ -1,5 +0,0 @@
1
- import { ParamType } from './param-type.interface.mjs';
2
-
3
- declare const objectType: ParamType;
4
-
5
- export { objectType };
@@ -1,5 +0,0 @@
1
- import { ParamType } from './param-type.interface.js';
2
-
3
- declare const objectType: ParamType;
4
-
5
- export { objectType };
@@ -1,4 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/nested-args
3
- */
4
- var t={stringify(r){return JSON.stringify(r)},parse(r){return typeof r=="object"?JSON.parse(r):{}}};exports.objectType=t;
@@ -1,4 +0,0 @@
1
- /**
2
- @tikkhun/nested-args
3
- */
4
- var t={stringify(r){return JSON.stringify(r)},parse(r){return typeof r=="object"?JSON.parse(r):{}}};export{t as objectType};
@@ -1,6 +0,0 @@
1
- interface ParamType {
2
- stringify(value: any): string;
3
- parse(value: string): any;
4
- }
5
-
6
- export type { ParamType };
@@ -1,6 +0,0 @@
1
- interface ParamType {
2
- stringify(value: any): string;
3
- parse(value: string): any;
4
- }
5
-
6
- export type { ParamType };
@@ -1,4 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/nested-args
3
- */
4
- var e={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object",string:"string",select:"select"};exports.TYPES=e;
@@ -1,4 +0,0 @@
1
- /**
2
- @tikkhun/nested-args
3
- */
4
- var e={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object",string:"string",select:"select"};export{e as TYPES};