@tikkhun/cli-core 0.0.22 → 0.0.24

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 (93) hide show
  1. package/dist/CommandManager.d.mts +1 -1
  2. package/dist/CommandManager.d.ts +1 -1
  3. package/dist/CommandManager.js +2 -55
  4. package/dist/CommandManager.js.map +1 -1
  5. package/dist/CommandManager.mjs +2 -55
  6. package/dist/CommandManager.mjs.map +1 -1
  7. package/dist/command/ArgsCommand.js +2 -2
  8. package/dist/command/ArgsCommand.js.map +1 -1
  9. package/dist/command/ArgsCommand.mjs +2 -2
  10. package/dist/command/ArgsCommand.mjs.map +1 -1
  11. package/dist/command/ConfigCommand.js +2 -55
  12. package/dist/command/ConfigCommand.js.map +1 -1
  13. package/dist/command/ConfigCommand.mjs +2 -55
  14. package/dist/command/ConfigCommand.mjs.map +1 -1
  15. package/dist/command/PromptsCommand.d.mts +1 -1
  16. package/dist/command/PromptsCommand.d.ts +1 -1
  17. package/dist/command/PromptsCommand.js +2 -2
  18. package/dist/command/PromptsCommand.js.map +1 -1
  19. package/dist/command/PromptsCommand.mjs +2 -2
  20. package/dist/command/PromptsCommand.mjs.map +1 -1
  21. package/dist/command/index.d.mts +1 -1
  22. package/dist/command/index.d.ts +1 -1
  23. package/dist/command/index.js +2 -55
  24. package/dist/command/index.js.map +1 -1
  25. package/dist/command/index.mjs +2 -55
  26. package/dist/command/index.mjs.map +1 -1
  27. package/dist/index.d.mts +1 -8
  28. package/dist/index.d.ts +1 -8
  29. package/dist/index.js +2 -55
  30. package/dist/index.js.map +1 -1
  31. package/dist/index.mjs +2 -55
  32. package/dist/index.mjs.map +1 -1
  33. package/package.json +4 -3
  34. package/dist/options-transformer/index.d.mts +0 -8
  35. package/dist/options-transformer/index.d.ts +0 -8
  36. package/dist/options-transformer/index.js +0 -5
  37. package/dist/options-transformer/index.js.map +0 -1
  38. package/dist/options-transformer/index.mjs +0 -5
  39. package/dist/options-transformer/index.mjs.map +0 -1
  40. package/dist/options-transformer/options-transformer.d.mts +0 -23
  41. package/dist/options-transformer/options-transformer.d.ts +0 -23
  42. package/dist/options-transformer/options-transformer.js +0 -5
  43. package/dist/options-transformer/options-transformer.js.map +0 -1
  44. package/dist/options-transformer/options-transformer.mjs +0 -5
  45. package/dist/options-transformer/options-transformer.mjs.map +0 -1
  46. package/dist/options-transformer/paramTypes/array.type.d.mts +0 -9
  47. package/dist/options-transformer/paramTypes/array.type.d.ts +0 -9
  48. package/dist/options-transformer/paramTypes/array.type.js +0 -5
  49. package/dist/options-transformer/paramTypes/array.type.js.map +0 -1
  50. package/dist/options-transformer/paramTypes/array.type.mjs +0 -5
  51. package/dist/options-transformer/paramTypes/array.type.mjs.map +0 -1
  52. package/dist/options-transformer/paramTypes/boolean.type.d.mts +0 -7
  53. package/dist/options-transformer/paramTypes/boolean.type.d.ts +0 -7
  54. package/dist/options-transformer/paramTypes/boolean.type.js +0 -5
  55. package/dist/options-transformer/paramTypes/boolean.type.js.map +0 -1
  56. package/dist/options-transformer/paramTypes/boolean.type.mjs +0 -5
  57. package/dist/options-transformer/paramTypes/boolean.type.mjs.map +0 -1
  58. package/dist/options-transformer/paramTypes/index.d.mts +0 -7
  59. package/dist/options-transformer/paramTypes/index.d.ts +0 -7
  60. package/dist/options-transformer/paramTypes/index.js +0 -5
  61. package/dist/options-transformer/paramTypes/index.js.map +0 -1
  62. package/dist/options-transformer/paramTypes/index.mjs +0 -5
  63. package/dist/options-transformer/paramTypes/index.mjs.map +0 -1
  64. package/dist/options-transformer/paramTypes/key-value-array.type.d.mts +0 -5
  65. package/dist/options-transformer/paramTypes/key-value-array.type.d.ts +0 -5
  66. package/dist/options-transformer/paramTypes/key-value-array.type.js +0 -5
  67. package/dist/options-transformer/paramTypes/key-value-array.type.js.map +0 -1
  68. package/dist/options-transformer/paramTypes/key-value-array.type.mjs +0 -5
  69. package/dist/options-transformer/paramTypes/key-value-array.type.mjs.map +0 -1
  70. package/dist/options-transformer/paramTypes/number.type.d.mts +0 -5
  71. package/dist/options-transformer/paramTypes/number.type.d.ts +0 -5
  72. package/dist/options-transformer/paramTypes/number.type.js +0 -5
  73. package/dist/options-transformer/paramTypes/number.type.js.map +0 -1
  74. package/dist/options-transformer/paramTypes/number.type.mjs +0 -5
  75. package/dist/options-transformer/paramTypes/number.type.mjs.map +0 -1
  76. package/dist/options-transformer/paramTypes/object-array.type.d.mts +0 -5
  77. package/dist/options-transformer/paramTypes/object-array.type.d.ts +0 -5
  78. package/dist/options-transformer/paramTypes/object-array.type.js +0 -5
  79. package/dist/options-transformer/paramTypes/object-array.type.js.map +0 -1
  80. package/dist/options-transformer/paramTypes/object-array.type.mjs +0 -5
  81. package/dist/options-transformer/paramTypes/object-array.type.mjs.map +0 -1
  82. package/dist/options-transformer/paramTypes/object.type.d.mts +0 -5
  83. package/dist/options-transformer/paramTypes/object.type.d.ts +0 -5
  84. package/dist/options-transformer/paramTypes/object.type.js +0 -5
  85. package/dist/options-transformer/paramTypes/object.type.js.map +0 -1
  86. package/dist/options-transformer/paramTypes/object.type.mjs +0 -5
  87. package/dist/options-transformer/paramTypes/object.type.mjs.map +0 -1
  88. package/dist/options-transformer/paramTypes/param-type.interface.d.mts +0 -6
  89. package/dist/options-transformer/paramTypes/param-type.interface.d.ts +0 -6
  90. package/dist/options-transformer/paramTypes/param-type.interface.js +0 -2
  91. package/dist/options-transformer/paramTypes/param-type.interface.js.map +0 -1
  92. package/dist/options-transformer/paramTypes/param-type.interface.mjs +0 -2
  93. package/dist/options-transformer/paramTypes/param-type.interface.mjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tikkhun/cli-core",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -31,9 +31,10 @@
31
31
  "commander": "^14.0.0",
32
32
  "fs-extra": "^11.3.0",
33
33
  "lodash": "^4.17.21",
34
+ "@tikkhun/logger": "^1.0.8",
34
35
  "@tikkhun/utils-core": "^0.0.20",
35
- "@tikkhun/config-loader": "^0.0.6",
36
- "@tikkhun/logger": "^1.0.8"
36
+ "@tikkhun/nested-args": "^0.0.0",
37
+ "@tikkhun/config-loader": "^0.0.10"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@types/fs-extra": "^11.0.4",
@@ -1,8 +0,0 @@
1
- export { OptionsTransformer, TYPES } from './options-transformer.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';
@@ -1,8 +0,0 @@
1
- export { OptionsTransformer, TYPES } from './options-transformer.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';
@@ -1,5 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/cli-core
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],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",string:"string",select:"select"},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.OptionsTransformer=m;exports.TYPES=a;exports.arrayType=i;exports.asFalseValues=l;exports.asTrueValues=b;exports.booleanType=f;exports.keyValueArrayType=y;exports.numberType=u;exports.objectArrayType=p;exports.objectType=g;//# sourceMappingURL=index.js.map
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../lib/options-transformer/paramTypes/array.type.ts","../../lib/options-transformer/paramTypes/boolean.type.ts","../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../lib/options-transformer/paramTypes/number.type.ts","../../lib/options-transformer/paramTypes/object-array.type.ts","../../lib/options-transformer/paramTypes/object.type.ts","../../lib/options-transformer/options-transformer.ts"],"names":["arrayType","v","asTrueValues","asFalseValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType","TYPES","OptionsTransformer","_OptionsTransformer","schema","obj","_obj","type","item1","keys"],"mappings":"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","file":"index.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n","import { arrayType, booleanType, keyValueArrayType, numberType, objectArrayType, objectType } from './paramTypes';\n\nexport const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n objectArray: 'objectArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\n\nexport class OptionsTransformer {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n parse(obj: Record<string, any>) {\n return OptionsTransformer.parse(obj, this.schema);\n }\n\n static parse(obj: Record<string, any>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionsTransformer.parse(value, type);\n } else {\n _obj[key] = OptionsTransformer.parseValueByType(value as string, type);\n }\n });\n return _obj;\n }\n private static parseValueByType(value: string, type: string) {\n if (value === 'undefined') {\n return;\n }\n if (type === TYPES.keyValueArray) {\n return keyValueArrayType.parse(value);\n }\n if (type === TYPES.objectArray) {\n return objectArrayType.parse(value);\n }\n if (type === TYPES.array) {\n return arrayType.parse(value);\n }\n if (type === TYPES.object) {\n return objectType.parse(value);\n }\n if (type === TYPES.number) {\n return numberType.parse(value);\n }\n if (type === TYPES.boolean) {\n return booleanType.parse(value);\n }\n return value;\n }\n static stringify(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionsTransformer.stringifyValue(value);\n });\n return _obj;\n }\n\n private static stringifyValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object') {\n const isKeyValueArray = this.isKeyValueObject(item1);\n if (isKeyValueArray) {\n return keyValueArrayType.stringify(value);\n }\n return objectArrayType.stringify(value);\n }\n return arrayType.stringify(value);\n }\n if (typeof value === 'object') {\n return OptionsTransformer.stringify(value);\n }\n return '' + value;\n }\n private static isKeyValueObject(obj: any) {\n const keys = Object.keys(obj);\n return keys[0] === 'key' && keys[1] === 'value';\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- @tikkhun/cli-core
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],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",string:"string",select:"select"},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 OptionsTransformer,a as TYPES,i as arrayType,l as asFalseValues,b as asTrueValues,f as booleanType,y as keyValueArrayType,u as numberType,p as objectArrayType,g as objectType};//# sourceMappingURL=index.mjs.map
5
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../lib/options-transformer/paramTypes/array.type.ts","../../lib/options-transformer/paramTypes/boolean.type.ts","../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../lib/options-transformer/paramTypes/number.type.ts","../../lib/options-transformer/paramTypes/object-array.type.ts","../../lib/options-transformer/paramTypes/object.type.ts","../../lib/options-transformer/options-transformer.ts"],"names":["arrayType","v","asTrueValues","asFalseValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType","TYPES","OptionsTransformer","_OptionsTransformer","schema","obj","_obj","type","item1","keys"],"mappings":"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","file":"index.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n","import { arrayType, booleanType, keyValueArrayType, numberType, objectArrayType, objectType } from './paramTypes';\n\nexport const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n objectArray: 'objectArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\n\nexport class OptionsTransformer {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n parse(obj: Record<string, any>) {\n return OptionsTransformer.parse(obj, this.schema);\n }\n\n static parse(obj: Record<string, any>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionsTransformer.parse(value, type);\n } else {\n _obj[key] = OptionsTransformer.parseValueByType(value as string, type);\n }\n });\n return _obj;\n }\n private static parseValueByType(value: string, type: string) {\n if (value === 'undefined') {\n return;\n }\n if (type === TYPES.keyValueArray) {\n return keyValueArrayType.parse(value);\n }\n if (type === TYPES.objectArray) {\n return objectArrayType.parse(value);\n }\n if (type === TYPES.array) {\n return arrayType.parse(value);\n }\n if (type === TYPES.object) {\n return objectType.parse(value);\n }\n if (type === TYPES.number) {\n return numberType.parse(value);\n }\n if (type === TYPES.boolean) {\n return booleanType.parse(value);\n }\n return value;\n }\n static stringify(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionsTransformer.stringifyValue(value);\n });\n return _obj;\n }\n\n private static stringifyValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object') {\n const isKeyValueArray = this.isKeyValueObject(item1);\n if (isKeyValueArray) {\n return keyValueArrayType.stringify(value);\n }\n return objectArrayType.stringify(value);\n }\n return arrayType.stringify(value);\n }\n if (typeof value === 'object') {\n return OptionsTransformer.stringify(value);\n }\n return '' + value;\n }\n private static isKeyValueObject(obj: any) {\n const keys = Object.keys(obj);\n return keys[0] === 'key' && keys[1] === 'value';\n }\n}\n"]}
@@ -1,23 +0,0 @@
1
- declare const TYPES: {
2
- readonly array: "array";
3
- readonly keyValueArray: "keyValueArray";
4
- readonly objectArray: "objectArray";
5
- readonly boolean: "boolean";
6
- readonly number: "number";
7
- readonly object: "object";
8
- readonly string: "string";
9
- readonly select: "select";
10
- };
11
- type TYPES = keyof typeof TYPES;
12
- declare class OptionsTransformer {
13
- schema: Record<string, any>;
14
- constructor(schema: Record<string, any>);
15
- parse(obj: Record<string, any>): Record<string, any>;
16
- static parse(obj: Record<string, any>, schema: Record<string, any>): Record<string, any>;
17
- private static parseValueByType;
18
- static stringify(obj: Record<string, any>): Record<string, any>;
19
- private static stringifyValue;
20
- private static isKeyValueObject;
21
- }
22
-
23
- export { OptionsTransformer, TYPES };
@@ -1,23 +0,0 @@
1
- declare const TYPES: {
2
- readonly array: "array";
3
- readonly keyValueArray: "keyValueArray";
4
- readonly objectArray: "objectArray";
5
- readonly boolean: "boolean";
6
- readonly number: "number";
7
- readonly object: "object";
8
- readonly string: "string";
9
- readonly select: "select";
10
- };
11
- type TYPES = keyof typeof TYPES;
12
- declare class OptionsTransformer {
13
- schema: Record<string, any>;
14
- constructor(schema: Record<string, any>);
15
- parse(obj: Record<string, any>): Record<string, any>;
16
- static parse(obj: Record<string, any>, schema: Record<string, any>): Record<string, any>;
17
- private static parseValueByType;
18
- static stringify(obj: Record<string, any>): Record<string, any>;
19
- private static stringifyValue;
20
- private static isKeyValueObject;
21
- }
22
-
23
- export { OptionsTransformer, TYPES };
@@ -1,5 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/cli-core
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",string:"string",select:"select"},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.OptionsTransformer=m;exports.TYPES=a;//# sourceMappingURL=options-transformer.js.map
5
- //# sourceMappingURL=options-transformer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../lib/options-transformer/paramTypes/array.type.ts","../../lib/options-transformer/paramTypes/boolean.type.ts","../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../lib/options-transformer/paramTypes/number.type.ts","../../lib/options-transformer/paramTypes/object-array.type.ts","../../lib/options-transformer/paramTypes/object.type.ts","../../lib/options-transformer/options-transformer.ts"],"names":["arrayType","v","asTrueValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType","TYPES","OptionsTransformer","_OptionsTransformer","schema","obj","_obj","type","item1","keys"],"mappings":"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","file":"options-transformer.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n","import { arrayType, booleanType, keyValueArrayType, numberType, objectArrayType, objectType } from './paramTypes';\n\nexport const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n objectArray: 'objectArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\n\nexport class OptionsTransformer {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n parse(obj: Record<string, any>) {\n return OptionsTransformer.parse(obj, this.schema);\n }\n\n static parse(obj: Record<string, any>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionsTransformer.parse(value, type);\n } else {\n _obj[key] = OptionsTransformer.parseValueByType(value as string, type);\n }\n });\n return _obj;\n }\n private static parseValueByType(value: string, type: string) {\n if (value === 'undefined') {\n return;\n }\n if (type === TYPES.keyValueArray) {\n return keyValueArrayType.parse(value);\n }\n if (type === TYPES.objectArray) {\n return objectArrayType.parse(value);\n }\n if (type === TYPES.array) {\n return arrayType.parse(value);\n }\n if (type === TYPES.object) {\n return objectType.parse(value);\n }\n if (type === TYPES.number) {\n return numberType.parse(value);\n }\n if (type === TYPES.boolean) {\n return booleanType.parse(value);\n }\n return value;\n }\n static stringify(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionsTransformer.stringifyValue(value);\n });\n return _obj;\n }\n\n private static stringifyValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object') {\n const isKeyValueArray = this.isKeyValueObject(item1);\n if (isKeyValueArray) {\n return keyValueArrayType.stringify(value);\n }\n return objectArrayType.stringify(value);\n }\n return arrayType.stringify(value);\n }\n if (typeof value === 'object') {\n return OptionsTransformer.stringify(value);\n }\n return '' + value;\n }\n private static isKeyValueObject(obj: any) {\n const keys = Object.keys(obj);\n return keys[0] === 'key' && keys[1] === 'value';\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- @tikkhun/cli-core
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",string:"string",select:"select"},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 OptionsTransformer,a as TYPES};//# sourceMappingURL=options-transformer.mjs.map
5
- //# sourceMappingURL=options-transformer.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../lib/options-transformer/paramTypes/array.type.ts","../../lib/options-transformer/paramTypes/boolean.type.ts","../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../lib/options-transformer/paramTypes/number.type.ts","../../lib/options-transformer/paramTypes/object-array.type.ts","../../lib/options-transformer/paramTypes/object.type.ts","../../lib/options-transformer/options-transformer.ts"],"names":["arrayType","v","asTrueValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType","TYPES","OptionsTransformer","_OptionsTransformer","schema","obj","_obj","type","item1","keys"],"mappings":"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","file":"options-transformer.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n","import { arrayType, booleanType, keyValueArrayType, numberType, objectArrayType, objectType } from './paramTypes';\n\nexport const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n objectArray: 'objectArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\n\nexport class OptionsTransformer {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n parse(obj: Record<string, any>) {\n return OptionsTransformer.parse(obj, this.schema);\n }\n\n static parse(obj: Record<string, any>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionsTransformer.parse(value, type);\n } else {\n _obj[key] = OptionsTransformer.parseValueByType(value as string, type);\n }\n });\n return _obj;\n }\n private static parseValueByType(value: string, type: string) {\n if (value === 'undefined') {\n return;\n }\n if (type === TYPES.keyValueArray) {\n return keyValueArrayType.parse(value);\n }\n if (type === TYPES.objectArray) {\n return objectArrayType.parse(value);\n }\n if (type === TYPES.array) {\n return arrayType.parse(value);\n }\n if (type === TYPES.object) {\n return objectType.parse(value);\n }\n if (type === TYPES.number) {\n return numberType.parse(value);\n }\n if (type === TYPES.boolean) {\n return booleanType.parse(value);\n }\n return value;\n }\n static stringify(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionsTransformer.stringifyValue(value);\n });\n return _obj;\n }\n\n private static stringifyValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object') {\n const isKeyValueArray = this.isKeyValueObject(item1);\n if (isKeyValueArray) {\n return keyValueArrayType.stringify(value);\n }\n return objectArrayType.stringify(value);\n }\n return arrayType.stringify(value);\n }\n if (typeof value === 'object') {\n return OptionsTransformer.stringify(value);\n }\n return '' + value;\n }\n private static isKeyValueObject(obj: any) {\n const keys = Object.keys(obj);\n return keys[0] === 'key' && keys[1] === 'value';\n }\n}\n"]}
@@ -1,9 +0,0 @@
1
- import { ParamType } from './param-type.interface.mjs';
2
-
3
- interface KeyValueItem {
4
- key: string;
5
- value: string;
6
- }
7
- declare const arrayType: ParamType;
8
-
9
- export { type KeyValueItem, arrayType };
@@ -1,9 +0,0 @@
1
- import { ParamType } from './param-type.interface.js';
2
-
3
- interface KeyValueItem {
4
- key: string;
5
- value: string;
6
- }
7
- declare const arrayType: ParamType;
8
-
9
- export { type KeyValueItem, arrayType };
@@ -1,5 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/cli-core
3
- */
4
- var t={stringify(r){return r!=null&&r.length?r.toString():""},parse(r){return r.split(",")}};exports.arrayType=t;//# sourceMappingURL=array.type.js.map
5
- //# sourceMappingURL=array.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/array.type.ts"],"names":["arrayType","v"],"mappings":";;;AAMaA,IAAAA,CAAAA,CAAuB,CAElC,SAAUC,CAAAA,CAAAA,CAAgB,CACxB,OAAKA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAG,MAGDA,CAAAA,CAAAA,CAAE,UAFA,CAAA,EAGX,CACA,CAAA,KAAA,CAAMA,CAAW,CAAA,CACf,OAAOA,CAAE,CAAA,KAAA,CAAM,GAAG,CACpB,CACF","file":"array.type.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- @tikkhun/cli-core
3
- */
4
- var t={stringify(r){return r!=null&&r.length?r.toString():""},parse(r){return r.split(",")}};export{t as arrayType};//# sourceMappingURL=array.type.mjs.map
5
- //# sourceMappingURL=array.type.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/array.type.ts"],"names":["arrayType","v"],"mappings":";;;AAMaA,IAAAA,CAAAA,CAAuB,CAElC,SAAUC,CAAAA,CAAAA,CAAgB,CACxB,OAAKA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAG,MAGDA,CAAAA,CAAAA,CAAE,UAFA,CAAA,EAGX,CACA,CAAA,KAAA,CAAMA,CAAW,CAAA,CACf,OAAOA,CAAE,CAAA,KAAA,CAAM,GAAG,CACpB,CACF","file":"array.type.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n"]}
@@ -1,7 +0,0 @@
1
- import { ParamType } from './param-type.interface.mjs';
2
-
3
- declare const asTrueValues: (string | number | boolean)[];
4
- declare const asFalseValues: (string | number | boolean)[];
5
- declare const booleanType: ParamType;
6
-
7
- export { asFalseValues, asTrueValues, booleanType };
@@ -1,7 +0,0 @@
1
- import { ParamType } from './param-type.interface.js';
2
-
3
- declare const asTrueValues: (string | number | boolean)[];
4
- declare const asFalseValues: (string | number | boolean)[];
5
- declare const booleanType: ParamType;
6
-
7
- export { asFalseValues, asTrueValues, booleanType };
@@ -1,5 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/cli-core
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;//# sourceMappingURL=boolean.type.js.map
5
- //# sourceMappingURL=boolean.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/boolean.type.ts"],"names":["asTrueValues","asFalseValues","booleanType","value"],"mappings":";;;AACO,IAAMA,CAAe,CAAA,CAAC,MAAQ,CAAA,IAAA,CAAM,IAAK,CAAC,CAAA,CACpCC,CAAgB,CAAA,CAAC,OAAS,CAAA,KAAA,CAAO,EAAI,CAAA,CAAC,EACtCC,CAAyB,CAAA,CACpC,SAAUC,CAAAA,CAAAA,CAAwB,CAChC,OAAOA,CAAM,CAAA,QAAA,EACf,CACA,CAAA,KAAA,CAAMA,CAAe,CAAA,CACnB,OAAI,CAAAH,CAAAA,CAAAA,CAAa,QAASG,CAAAA,CAAK,CAEjC,CACF","file":"boolean.type.js","sourcesContent":["import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- @tikkhun/cli-core
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};//# sourceMappingURL=boolean.type.mjs.map
5
- //# sourceMappingURL=boolean.type.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/boolean.type.ts"],"names":["asTrueValues","asFalseValues","booleanType","value"],"mappings":";;;AACO,IAAMA,CAAe,CAAA,CAAC,MAAQ,CAAA,IAAA,CAAM,IAAK,CAAC,CAAA,CACpCC,CAAgB,CAAA,CAAC,OAAS,CAAA,KAAA,CAAO,EAAI,CAAA,CAAC,EACtCC,CAAyB,CAAA,CACpC,SAAUC,CAAAA,CAAAA,CAAwB,CAChC,OAAOA,CAAM,CAAA,QAAA,EACf,CACA,CAAA,KAAA,CAAMA,CAAe,CAAA,CACnB,OAAI,CAAAH,CAAAA,CAAAA,CAAa,QAASG,CAAAA,CAAK,CAEjC,CACF","file":"boolean.type.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n"]}
@@ -1,7 +0,0 @@
1
- export { KeyValueItem, arrayType } from './array.type.mjs';
2
- export { asFalseValues, asTrueValues, booleanType } from './boolean.type.mjs';
3
- export { keyValueArrayType } from './key-value-array.type.mjs';
4
- export { numberType } from './number.type.mjs';
5
- export { objectArrayType } from './object-array.type.mjs';
6
- export { objectType } from './object.type.mjs';
7
- export { ParamType } from './param-type.interface.mjs';
@@ -1,7 +0,0 @@
1
- export { KeyValueItem, arrayType } from './array.type.js';
2
- export { asFalseValues, asTrueValues, booleanType } from './boolean.type.js';
3
- export { keyValueArrayType } from './key-value-array.type.js';
4
- export { numberType } from './number.type.js';
5
- export { objectArrayType } from './object-array.type.js';
6
- export { objectType } from './object.type.js';
7
- export { ParamType } from './param-type.interface.js';
@@ -1,5 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/cli-core
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],i={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 c={stringify(r){return JSON.stringify(r)},parse(r){return typeof r=="object"?JSON.parse(r):{}}};exports.arrayType=o;exports.asFalseValues=s;exports.asTrueValues=a;exports.booleanType=i;exports.keyValueArrayType=u;exports.numberType=g;exports.objectArrayType=l;exports.objectType=c;//# sourceMappingURL=index.js.map
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/array.type.ts","../../../lib/options-transformer/paramTypes/boolean.type.ts","../../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../../lib/options-transformer/paramTypes/number.type.ts","../../../lib/options-transformer/paramTypes/object-array.type.ts","../../../lib/options-transformer/paramTypes/object.type.ts"],"names":["arrayType","v","asTrueValues","asFalseValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType"],"mappings":";;;AAMaA,IAAAA,CAAAA,CAAuB,CAElC,SAAUC,CAAAA,CAAAA,CAAgB,CACxB,OAAKA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAG,MAGDA,CAAAA,CAAAA,CAAE,UAFA,CAAA,EAGX,CACA,CAAA,KAAA,CAAMA,CAAW,CAAA,CACf,OAAOA,CAAE,CAAA,KAAA,CAAM,GAAG,CACpB,CACF,MChBaC,CAAe,CAAA,CAAC,OAAQ,IAAM,CAAA,GAAA,CAAK,CAAC,CACpCC,CAAAA,CAAAA,CAAgB,CAAC,OAAA,CAAS,KAAO,CAAA,EAAA,CAAI,CAAC,CACtCC,CAAAA,CAAAA,CAAyB,CACpC,SAAA,CAAUC,CAAwB,CAAA,CAChC,OAAOA,CAAM,CAAA,QAAA,EACf,CAAA,CACA,KAAMA,CAAAA,CAAAA,CAAe,CACnB,OAAI,CAAA,CAAAH,EAAa,QAASG,CAAAA,CAAK,CAEjC,CACF,ECLaC,IAAAA,CAAAA,CAA+B,CAE1C,SAAA,CAAUL,EAAgB,CACxB,OAAKA,CAAA,EAAA,IAAA,EAAAA,CAAG,CAAA,MAAA,CAGDA,EAAE,GAAKM,CAAAA,CAAAA,EAAuB,CAAGA,EAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,GAAG,CAAIA,CAAAA,EAAAA,CAAAA,EAAA,YAAAA,CAAM,CAAA,KAAK,EAAE,CAAE,CAAA,IAAA,CAAK,GAAG,CAAA,CAFnE,EAGX,CAAA,CACA,MAAMF,CAAe,CAAA,CACnB,OAAKA,CAAAA,CACEA,CACJ,CAAA,KAAA,CAAM,GAAG,CACT,CAAA,GAAA,CAAKG,CAAY,EAAA,CAChB,GAAI,CAACA,EAAS,OACd,GAAM,CAACC,CAAKJ,CAAAA,CAAK,EAAIG,CAAQ,CAAA,KAAA,CAAM,GAAG,CAAA,CACtC,OAAO,CAAE,IAAAC,CAAK,CAAA,KAAA,CAAAJ,CAAM,CACtB,CAAC,CAAA,CACA,OAAQK,CAAMA,EAAAA,CAAC,CARC,CAAA,EASrB,CACF,ECvBaC,IAAAA,CAAAA,CAAwB,CACnC,SAAUN,CAAAA,CAAAA,CAAoB,CAC5B,OAAOA,CAAAA,CAAM,QAAS,EACxB,CACA,CAAA,KAAA,CAAMA,EAAe,CACnB,OAAO,MAAOA,CAAAA,CAAK,CACrB,CACF,ECPaO,IAAAA,CAAAA,CAA6B,CACxC,SAAA,CAAUX,CAAgB,CAAA,CACxB,OAAO,IAAK,CAAA,SAAA,CAAUA,CAAC,CACzB,CAAA,CACA,MAAMA,CAAW,CAAA,CACf,GAAI,CACF,OAAO,IAAA,CAAK,MAAMA,CAAC,CAAA,EAAK,EAC1B,CAASY,MAAAA,CAAAA,CAAO,CACd,OAAO,EACT,CACF,CACF,MCXaC,CAAwB,CAAA,CACnC,UAAUb,CAAgB,CAAA,CACxB,OAAO,IAAK,CAAA,SAAA,CAAUA,CAAC,CACzB,CACA,CAAA,KAAA,CAAMI,EAAe,CACnB,OAAO,OAAOA,CAAAA,EAAU,QAAW,CAAA,IAAA,CAAK,MAAMA,CAAK,CAAA,CAAI,EACzD,CACF","file":"index.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- @tikkhun/cli-core
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],i={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 c={stringify(r){return JSON.stringify(r)},parse(r){return typeof r=="object"?JSON.parse(r):{}}};export{o as arrayType,s as asFalseValues,a as asTrueValues,i as booleanType,u as keyValueArrayType,g as numberType,l as objectArrayType,c as objectType};//# sourceMappingURL=index.mjs.map
5
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/array.type.ts","../../../lib/options-transformer/paramTypes/boolean.type.ts","../../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../../lib/options-transformer/paramTypes/number.type.ts","../../../lib/options-transformer/paramTypes/object-array.type.ts","../../../lib/options-transformer/paramTypes/object.type.ts"],"names":["arrayType","v","asTrueValues","asFalseValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType"],"mappings":";;;AAMaA,IAAAA,CAAAA,CAAuB,CAElC,SAAUC,CAAAA,CAAAA,CAAgB,CACxB,OAAKA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAG,MAGDA,CAAAA,CAAAA,CAAE,UAFA,CAAA,EAGX,CACA,CAAA,KAAA,CAAMA,CAAW,CAAA,CACf,OAAOA,CAAE,CAAA,KAAA,CAAM,GAAG,CACpB,CACF,MChBaC,CAAe,CAAA,CAAC,OAAQ,IAAM,CAAA,GAAA,CAAK,CAAC,CACpCC,CAAAA,CAAAA,CAAgB,CAAC,OAAA,CAAS,KAAO,CAAA,EAAA,CAAI,CAAC,CACtCC,CAAAA,CAAAA,CAAyB,CACpC,SAAA,CAAUC,CAAwB,CAAA,CAChC,OAAOA,CAAM,CAAA,QAAA,EACf,CAAA,CACA,KAAMA,CAAAA,CAAAA,CAAe,CACnB,OAAI,CAAA,CAAAH,EAAa,QAASG,CAAAA,CAAK,CAEjC,CACF,ECLaC,IAAAA,CAAAA,CAA+B,CAE1C,SAAA,CAAUL,EAAgB,CACxB,OAAKA,CAAA,EAAA,IAAA,EAAAA,CAAG,CAAA,MAAA,CAGDA,EAAE,GAAKM,CAAAA,CAAAA,EAAuB,CAAGA,EAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,GAAG,CAAIA,CAAAA,EAAAA,CAAAA,EAAA,YAAAA,CAAM,CAAA,KAAK,EAAE,CAAE,CAAA,IAAA,CAAK,GAAG,CAAA,CAFnE,EAGX,CAAA,CACA,MAAMF,CAAe,CAAA,CACnB,OAAKA,CAAAA,CACEA,CACJ,CAAA,KAAA,CAAM,GAAG,CACT,CAAA,GAAA,CAAKG,CAAY,EAAA,CAChB,GAAI,CAACA,EAAS,OACd,GAAM,CAACC,CAAKJ,CAAAA,CAAK,EAAIG,CAAQ,CAAA,KAAA,CAAM,GAAG,CAAA,CACtC,OAAO,CAAE,IAAAC,CAAK,CAAA,KAAA,CAAAJ,CAAM,CACtB,CAAC,CAAA,CACA,OAAQK,CAAMA,EAAAA,CAAC,CARC,CAAA,EASrB,CACF,ECvBaC,IAAAA,CAAAA,CAAwB,CACnC,SAAUN,CAAAA,CAAAA,CAAoB,CAC5B,OAAOA,CAAAA,CAAM,QAAS,EACxB,CACA,CAAA,KAAA,CAAMA,EAAe,CACnB,OAAO,MAAOA,CAAAA,CAAK,CACrB,CACF,ECPaO,IAAAA,CAAAA,CAA6B,CACxC,SAAA,CAAUX,CAAgB,CAAA,CACxB,OAAO,IAAK,CAAA,SAAA,CAAUA,CAAC,CACzB,CAAA,CACA,MAAMA,CAAW,CAAA,CACf,GAAI,CACF,OAAO,IAAA,CAAK,MAAMA,CAAC,CAAA,EAAK,EAC1B,CAASY,MAAAA,CAAAA,CAAO,CACd,OAAO,EACT,CACF,CACF,MCXaC,CAAwB,CAAA,CACnC,UAAUb,CAAgB,CAAA,CACxB,OAAO,IAAK,CAAA,SAAA,CAAUA,CAAC,CACzB,CACA,CAAA,KAAA,CAAMI,EAAe,CACnB,OAAO,OAAOA,CAAAA,EAAU,QAAW,CAAA,IAAA,CAAK,MAAMA,CAAK,CAAA,CAAI,EACzD,CACF","file":"index.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n"]}
@@ -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,5 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/cli-core
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;//# sourceMappingURL=key-value-array.type.js.map
5
- //# sourceMappingURL=key-value-array.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/key-value-array.type.ts"],"names":["keyValueArrayType","v","item","value","strItem","key","i"],"mappings":";;;AAMO,IAAMA,CAA+B,CAAA,CAE1C,SAAUC,CAAAA,CAAAA,CAAgB,CACxB,OAAKA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAG,MAGDA,CAAAA,CAAAA,CAAE,GAAKC,CAAAA,CAAAA,EAAuB,GAAGA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAM,CAAA,GAAG,CAAIA,CAAAA,EAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,KAAK,CAAE,CAAA,CAAA,CAAE,IAAK,CAAA,GAAG,EAFnE,EAGX,CAAA,CACA,KAAMC,CAAAA,CAAAA,CAAe,CACnB,OAAKA,CAAAA,CACEA,CACJ,CAAA,KAAA,CAAM,GAAG,CAAA,CACT,GAAKC,CAAAA,CAAAA,EAAY,CAChB,GAAI,CAACA,CAAS,CAAA,OACd,GAAM,CAACC,CAAKF,CAAAA,CAAK,EAAIC,CAAQ,CAAA,KAAA,CAAM,GAAG,CAAA,CACtC,OAAO,CAAE,GAAAC,CAAAA,CAAAA,CAAK,MAAAF,CAAM,CACtB,CAAC,CAAA,CACA,OAAQG,CAAMA,EAAAA,CAAC,CARC,CAAA,EASrB,CACF","file":"key-value-array.type.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- @tikkhun/cli-core
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};//# sourceMappingURL=key-value-array.type.mjs.map
5
- //# sourceMappingURL=key-value-array.type.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/key-value-array.type.ts"],"names":["keyValueArrayType","v","item","value","strItem","key","i"],"mappings":";;;AAMO,IAAMA,CAA+B,CAAA,CAE1C,SAAUC,CAAAA,CAAAA,CAAgB,CACxB,OAAKA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAG,MAGDA,CAAAA,CAAAA,CAAE,GAAKC,CAAAA,CAAAA,EAAuB,GAAGA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAM,CAAA,GAAG,CAAIA,CAAAA,EAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,KAAK,CAAE,CAAA,CAAA,CAAE,IAAK,CAAA,GAAG,EAFnE,EAGX,CAAA,CACA,KAAMC,CAAAA,CAAAA,CAAe,CACnB,OAAKA,CAAAA,CACEA,CACJ,CAAA,KAAA,CAAM,GAAG,CAAA,CACT,GAAKC,CAAAA,CAAAA,EAAY,CAChB,GAAI,CAACA,CAAS,CAAA,OACd,GAAM,CAACC,CAAKF,CAAAA,CAAK,EAAIC,CAAQ,CAAA,KAAA,CAAM,GAAG,CAAA,CACtC,OAAO,CAAE,GAAAC,CAAAA,CAAAA,CAAK,MAAAF,CAAM,CACtB,CAAC,CAAA,CACA,OAAQG,CAAMA,EAAAA,CAAC,CARC,CAAA,EASrB,CACF","file":"key-value-array.type.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n"]}
@@ -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,5 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/cli-core
3
- */
4
- var t={stringify(r){return r.toString()},parse(r){return Number(r)}};exports.numberType=t;//# sourceMappingURL=number.type.js.map
5
- //# sourceMappingURL=number.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/number.type.ts"],"names":["numberType","value"],"mappings":";;;AAEO,IAAMA,EAAwB,CACnC,SAAA,CAAUC,CAAoB,CAAA,CAC5B,OAAOA,CAAM,CAAA,QAAA,EACf,CAAA,CACA,MAAMA,CAAe,CAAA,CACnB,OAAO,MAAOA,CAAAA,CAAK,CACrB,CACF","file":"number.type.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- @tikkhun/cli-core
3
- */
4
- var t={stringify(r){return r.toString()},parse(r){return Number(r)}};export{t as numberType};//# sourceMappingURL=number.type.mjs.map
5
- //# sourceMappingURL=number.type.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/number.type.ts"],"names":["numberType","value"],"mappings":";;;AAEO,IAAMA,EAAwB,CACnC,SAAA,CAAUC,CAAoB,CAAA,CAC5B,OAAOA,CAAM,CAAA,QAAA,EACf,CAAA,CACA,MAAMA,CAAe,CAAA,CACnB,OAAO,MAAOA,CAAAA,CAAK,CACrB,CACF","file":"number.type.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n"]}
@@ -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,5 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/cli-core
3
- */
4
- var e={stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(t){return []}}};exports.objectArrayType=e;//# sourceMappingURL=object-array.type.js.map
5
- //# sourceMappingURL=object-array.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/object-array.type.ts"],"names":["objectArrayType","v","error"],"mappings":";;;AAEO,IAAMA,CAA6B,CAAA,CACxC,SAAUC,CAAAA,CAAAA,CAAgB,CACxB,OAAO,IAAK,CAAA,SAAA,CAAUA,CAAC,CACzB,CACA,CAAA,KAAA,CAAMA,EAAW,CACf,GAAI,CACF,OAAO,IAAK,CAAA,KAAA,CAAMA,CAAC,CAAA,EAAK,EAC1B,CAASC,MAAAA,CAAAA,CAAO,CACd,OAAO,EACT,CACF,CACF","file":"object-array.type.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- @tikkhun/cli-core
3
- */
4
- var e={stringify(r){return JSON.stringify(r)},parse(r){try{return JSON.parse(r)||[]}catch(t){return []}}};export{e as objectArrayType};//# sourceMappingURL=object-array.type.mjs.map
5
- //# sourceMappingURL=object-array.type.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/object-array.type.ts"],"names":["objectArrayType","v","error"],"mappings":";;;AAEO,IAAMA,CAA6B,CAAA,CACxC,SAAUC,CAAAA,CAAAA,CAAgB,CACxB,OAAO,IAAK,CAAA,SAAA,CAAUA,CAAC,CACzB,CACA,CAAA,KAAA,CAAMA,EAAW,CACf,GAAI,CACF,OAAO,IAAK,CAAA,KAAA,CAAMA,CAAC,CAAA,EAAK,EAC1B,CAASC,MAAAA,CAAAA,CAAO,CACd,OAAO,EACT,CACF,CACF","file":"object-array.type.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n"]}
@@ -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,5 +0,0 @@
1
- 'use strict';/**
2
- @tikkhun/cli-core
3
- */
4
- var t={stringify(r){return JSON.stringify(r)},parse(r){return typeof r=="object"?JSON.parse(r):{}}};exports.objectType=t;//# sourceMappingURL=object.type.js.map
5
- //# sourceMappingURL=object.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/object.type.ts"],"names":["objectType","v","value"],"mappings":";;;AAEaA,IAAAA,CAAAA,CAAwB,CACnC,SAAA,CAAUC,CAAgB,CAAA,CACxB,OAAO,IAAK,CAAA,SAAA,CAAUA,CAAC,CACzB,CACA,CAAA,KAAA,CAAMC,EAAe,CACnB,OAAO,OAAOA,CAAAA,EAAU,QAAW,CAAA,IAAA,CAAK,MAAMA,CAAK,CAAA,CAAI,EACzD,CACF","file":"object.type.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- @tikkhun/cli-core
3
- */
4
- var t={stringify(r){return JSON.stringify(r)},parse(r){return typeof r=="object"?JSON.parse(r):{}}};export{t as objectType};//# sourceMappingURL=object.type.mjs.map
5
- //# sourceMappingURL=object.type.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/options-transformer/paramTypes/object.type.ts"],"names":["objectType","v","value"],"mappings":";;;AAEaA,IAAAA,CAAAA,CAAwB,CACnC,SAAA,CAAUC,CAAgB,CAAA,CACxB,OAAO,IAAK,CAAA,SAAA,CAAUA,CAAC,CACzB,CACA,CAAA,KAAA,CAAMC,EAAe,CACnB,OAAO,OAAOA,CAAAA,EAAU,QAAW,CAAA,IAAA,CAAK,MAAMA,CAAK,CAAA,CAAI,EACzD,CACF","file":"object.type.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n"]}
@@ -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,2 +0,0 @@
1
- 'use strict';//# sourceMappingURL=param-type.interface.js.map
2
- //# sourceMappingURL=param-type.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"param-type.interface.js"}
@@ -1,2 +0,0 @@
1
- //# sourceMappingURL=param-type.interface.mjs.map
2
- //# sourceMappingURL=param-type.interface.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"param-type.interface.mjs"}