Libelektra: yajl: ู…ู†ุทู‚ูŠุฉ Elektra ุบูŠุฑ ู…ุฏุนูˆู…ุฉ

ุชู… ุฅู†ุดุงุคู‡ุง ุนู„ู‰ ูข ุฃุจุฑูŠู„ ูขู ูกูฉ  ยท  24ุชุนู„ูŠู‚ุงุช  ยท  ู…ุตุฏุฑ: ElektraInitiative/libelektra

ุฎุทูˆุงุช ุฅุนุงุฏุฉ ุฅุธู‡ุงุฑ ุงู„ู…ุดูƒู„ุฉ

kdb mount config.json user/tests/yajl yajl type
kdb set user/tests/yajl true
kdb setmeta user/tests/yajl type boolean
kdb set user/tests/yajl 1

kdb rm user/tests/yajl
kdb umount user/tests/yajl

ู†ุชูŠุฌุฉ ู…ุชูˆู‚ุนุฉ

ู„ุง ูŠุฒุงู„ ู‡ุฐุง true ู…ูˆุฌูˆุฏู‹ุง ููŠ ู…ู„ู ุงู„ุชูƒูˆูŠู† ุญูŠุซ ูŠุฌุจ ุฃู† ูŠูƒูˆู† true ูˆ 1 ู‡ูˆ ู†ูุณู‡.

cat `kdb file user/tests/yajl`
#> true

ู†ุชูŠุฌุฉ ูุนู„ูŠุฉ

 Sorry, 1 warning was issued ;(
 Warning (#78):
        Description: Unknown or unsupported type found during streaming, assume key as string, type lost
        Ingroup: plugin
        Module: yajl
        At: /home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/plugins/yajl/yajl_gen.c:166
        Reason: got boolean which is neither true nor false
        Mountpoint: user/tests/yajl
        Configfile: /home/markus/.config/config.json.26097:1554202289.309349.tmp
Set string to "1"
cat `kdb file user/tests/yajl`
#> "1"

ู…ุนู„ูˆู…ุงุช ุงู„ู†ุธุงู…

  • ู†ุณุฎุฉ ุฅู„ูŠูƒุชุฑุง: ุณูŠุฏ

ุชู„ู…ูŠุญ ุงู„ุชู†ููŠุฐ

ูŠุญุชุงุฌ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ yajl ุฅู„ู‰:

  • [] ุนุฑุถ ู‚ูŠู… Elektra "0" ูˆ "1" ุนู„ู‰ ุฎุทุฃ ูˆุตุญูŠุญ ููŠ JSON.
  • [] ุชูุดู„ ู…ุน ุฃุฎุทุงุก ุงู„ู†ูˆุน ุฅุฐุง ุชู… ุงู„ุนุซูˆุฑ ุนู„ู‰ ุฃู†ูˆุงุน ุบูŠุฑ ู…ุฏุนูˆู…ุฉ

ุงู„ุชุนู„ูŠู‚ ุงู„ุฃูƒุซุฑ ูุงุฆุฏุฉ

ู‡ู„ ูŠู…ูƒู†ู†ูŠ ุถุจุท ุงู„ู…ูุชุงุญ ุจุฑู…ุฌูŠู‹ุง ุฃูŠุถู‹ุงุŸ

ู†ุนู… ุŒ ูู‚ุท ู‚ู… ุจุฅุถุงูุชู‡ ุฅู„ู‰ ู…ุฌู…ูˆุนุฉ ู…ูุงุชูŠุญ ุงู„ุนู‚ุฏ. ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ ุŒ ูŠูˆุถุญ ุงู„ุณุทุฑ ุงู„ุชุงู„ูŠ ูƒูŠููŠุฉ ุชูƒูˆูŠู† YAML CPP ู„ู„ู…ูƒูˆูู‘ู† ุงู„ุฅุถุงููŠ type :

https://github.com/ElektraInitiative/libelektra/blob/5519cb8066a096215a3701ca3d8c02fcebe54914/src/plugins/yamlcpp/yamlcpp.cpp#L44
.

ุงู„ 24 ูƒูˆู…ูŠู†ุชุฑ

kodebach ู‡ู„ ู„ุง ูŠุฒุงู„ ู…ู† ุงู„ู…ู…ูƒู† ุฅุนุงุฏุฉ ุชูƒูˆูŠู† ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ ู„ู„ู†ูˆุน ู„ู„ุชุทุจูŠุน ุฅู„ู‰ "true" ุจุฏู„ุงู‹ ู…ู† "1".

ู„ุง ุŒ ู‡ุฐุง ุบูŠุฑ ู…ุฏุนูˆู… ู…ู† ู‚ุจู„ ู†ูˆุน ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ ุŒ ู„ู… ุฃูƒู† ุฃุนุฑู ุฃู† ู‡ู†ุงูƒ ุญุงู„ุฉ ุงุณุชุฎุฏุงู… ู„ู‡ุฐุง.

IMO ูƒู…ุง ุฃู†ู‡ ู„ุง ู…ุนู†ู‰ ู„ู‡. ุทุฑูŠู‚ุฉ Elektra ู„ุชู…ุซูŠู„ ู…ู†ุทู‚ูŠุฉ ู‡ูŠ 0 ูˆ 1 . ุฅุฐุง ูƒุงู† ุชู†ุณูŠู‚ ุงู„ุชุฎุฒูŠู† ูŠุฏุนู… ุงู„ุฃู†ูˆุงุน ุŒ ููŠุฌุจ ุฃู† ูŠุชู… ุงู„ุชุญูˆูŠู„ ู…ู† ุชู…ุซูŠู„ Elektra ุฅู„ู‰ ุชู…ุซูŠู„ ุชู†ุณูŠู‚ ุงู„ุชุฎุฒูŠู† ุจูˆุงุณุทุฉ ู…ูƒูˆู† ุงู„ุชุฎุฒูŠู† ุงู„ุฅุถุงููŠ. ููŠ ุงู„ู†ู‡ุงูŠุฉ ุŒ ูŠุฌุจ ุฃู† ูŠูƒูˆู† ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ ู„ู„ุชุฎุฒูŠู† ู„ู„ุชู†ุณูŠู‚ X ู‡ูˆ ุงู„ุฌุณุฑ ุจูŠู† Elektra ูˆ format X.

ุฃูŠุถุง ุฃู„ูŠุณุช ุงู„ู…ุดูƒู„ุฉ ุงู„ุฃูƒุจุฑ ู‡ูŠ ุงุณุชุนุงุฏุฉ ุงู„ู‚ูŠู…ุŸ ุชุชู… ุงู„ุงุณุชุนุงุฏุฉ ููŠ presetstorage ุŒ ูˆู‚ุฏ ุทู„ุจุช ุตุฑุงุญุฉู‹ ุŒ ุงุณุชุนุงุฏุฉ ุงู„ู‚ูŠู… ุฏุงุฆู…ู‹ุง ุฅู„ู‰ ุงู„ุชู…ุซูŠู„ ุงู„ุฐูŠ ูŠุฎุชุงุฑู‡ ุงู„ู…ุณุชุฎุฏู… ุŒ ุนู†ุฏ ุชุนูŠูŠู† ุงู„ู‚ูŠู…ุฉ. ู‡ุฐุง ูŠุนู†ูŠ ุฃู†ูƒ ุฅุฐุง ุงุณุชุฎุฏู…ุช kdb set user/tests/yajl on ููŠ ู…ุซุงู„ูƒ ุŒ ูุฅู† ุงู„ู…ูƒูˆู‘ู† ุงู„ุฅุถุงููŠ yajl ุณูŠุชู„ู‚ู‰ ุงู„ู‚ูŠู…ุฉ on .

ู…ุง ู†ุญุชุงุฌู‡ ู‡ู†ุง ููŠ ุงู„ูˆุงู‚ุน ุŒ ู‡ูˆ ุทุฑูŠู‚ุฉ ู„ุชุนูŠูŠู† ุงู„ุชู…ุซูŠู„ ุงู„ุฐูŠ ูŠุชู… ุงุณุชุนุงุฏุฉ ุงู„ู‚ูŠู… ุฅู„ูŠู‡ ุŒ ุจุบุถ ุงู„ู†ุธุฑ ุนู† ูƒูŠููŠุฉ ุชุนูŠูŠู† ุงู„ู…ุณุชุฎุฏู… ู„ู„ู‚ูŠู…ุฉ. ูŠู…ูƒู† ุฅุถุงูุฉ ู‡ุฐุง ุจุณู‡ูˆู„ุฉ ุจุงู„ุบุฉ. ูˆู…ุน ุฐู„ูƒ ุŒ ู„ุณุช ู…ุชุฃูƒุฏู‹ุง ู…ู† ูˆุฌูˆุฏ ุทุฑูŠู‚ุฉ ุญุงู„ูŠู‹ุง ู„ุชุญุฏูŠุฏ ุชูƒูˆูŠู† ู…ูƒูˆู† ุฅุถุงููŠ ุŒ ู…ู† ู…ูƒูˆู† ุฅุถุงููŠ ุขุฎุฑ. ุจู…ุนู†ู‰ ุฃู†ู‡ ู„ุง ูŠุฒุงู„ ูŠุชุนูŠู† ุนู„ู‰ ุงู„ู…ุณุชุฎุฏู… ุชูƒูˆูŠู† type ุจุดูƒู„ ุตุญูŠุญ ุนู†ุฏ ุงุณุชุฎุฏุงู… yajl .

ูŠุชู… ุฏุงุฆู…ู‹ุง ุงุณุชุนุงุฏุฉ ุงู„ู‚ูŠู… ุฅู„ู‰ ุงู„ุชู…ุซูŠู„ ุงู„ุฐูŠ ูŠุฎุชุงุฑู‡ ุงู„ู…ุณุชุฎุฏู…

ู„ู† ุชูƒูˆู† ู‡ุฐู‡ ู…ุดูƒู„ุฉ ู„ุฃู† ุงู„ุนุฑุถ ุงู„ูˆุญูŠุฏ ุงู„ู…ุชุงุญ ููŠ JSON ู‡ูˆ ุตูˆุงุจ / ุฎุทุฃ ุŒ ู„ุฐู„ูƒ ู„ุง ูŠู…ูƒู† ู„ู„ู…ุณุชุฎุฏู… ุงู„ุงุฎุชูŠุงุฑ.

ู…ู…ุง ูŠุนู†ูŠ ุฃู†ู‡ ู„ุง ูŠุฒุงู„ ูŠุชุนูŠู† ุนู„ู‰ ุงู„ู…ุณุชุฎุฏู… ุชูƒูˆูŠู† ุงู„ูƒุชุงุจุฉ ุจุดูƒู„ ุตุญูŠุญ ุนู†ุฏ ุงุณุชุฎุฏุงู… yajl.

ู„ู† ูŠูƒูˆู† ู‡ุฐุง ุฃูŠุถู‹ุง ู…ุดูƒู„ุฉ ู„ุฃู† yajl ูŠู…ูƒู†ู‡ ุฅุถุงูุฉ config / needs ู„ุฅุนุงุฏุฉ ุชูƒูˆูŠู† ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ ู„ู„ู†ูˆุน.

ุทุฑูŠู‚ุฉ Elektra ู„ุชู…ุซูŠู„ ู…ู†ุทู‚ูŠ ู‡ูŠ 0 ูˆ 1. ุฅุฐุง ูƒุงู† ุชู†ุณูŠู‚ ุงู„ุชุฎุฒูŠู† ูŠุฏุนู… ุงู„ุฃู†ูˆุงุน ุŒ ููŠุฌุจ ุฃู† ูŠุชู… ุงู„ุชุญูˆูŠู„ ู…ู† ุชู…ุซูŠู„ Elektra ุฅู„ู‰ ุชู…ุซูŠู„ ุชู†ุณูŠู‚ ุงู„ุชุฎุฒูŠู† ุจูˆุงุณุทุฉ ู…ูƒูˆู† ุงู„ุชุฎุฒูŠู† ุงู„ุฅุถุงููŠ.

ู†ุนู… ุŒ ุฃูˆุงูู‚ ุชู…ุงู…ู‹ุง. ุชุชู…ุซู„ ู…ูŠุฒุฉ ู…ู†ู‡ุฌูƒ ููŠ ุฃู†ู‡ ุณูŠุณู…ุญ ุฃูŠุถู‹ุง ู„ู„ู…ูƒูˆู†ุงุช ุงู„ุฅุถุงููŠุฉ ุงู„ูˆุณูŠุทุฉ (ุจูŠู† ุงู„ู†ูˆุน ูˆุงู„ุชุฎุฒูŠู†) ุจุฑุคูŠุฉ ุงู„ุชู…ุซูŠู„ ุงู„ุตุญูŠุญ ู„ู„ู…ู†ุทู‚ ุงู„ู…ู†ุทู‚ูŠ.

ู„ู‚ุฏ ู‚ู…ุช ุจุชุญุฏูŠุซ "ุชู„ู…ูŠุญ ุงู„ุชู†ููŠุฐ" ุฃุนู„ุงู‡ ู„ูŠุนูƒุณ ุฐู„ูƒ.

kodebach ุณุคุงู„ ุขุฎุฑ: JSON ูŠุฏุนู… ูู‚ุท double / boolean / string. ู‡ู„ ู…ู† ุงู„ู…ู…ูƒู† ุฃู† ู†ู‚ูˆู„ ู„ู„ู†ูˆุน ุงู„ู…ุณุงุนุฏ ุฃู† ู‡ุฐู‡ ุงู„ุฃู†ูˆุงุน ุงู„ุซู„ุงุซุฉ ูู‚ุท ู…ุณู…ูˆุญ ุจู‡ุงุŸ

ุณูŠุคุฏูŠ ู‡ุฐุง ุฃูŠุถู‹ุง ุฅู„ู‰ ุฅุตู„ุงุญ ุฃู†ูˆุงุน JSON ุงู„ู…ุฐูƒูˆุฑุฉ ููŠ # 1092.

ู„ู† ุชูƒูˆู† ู‡ุฐู‡ ู…ุดูƒู„ุฉ ู„ุฃู† ุงู„ุนุฑุถ ุงู„ูˆุญูŠุฏ ุงู„ู…ุชุงุญ ููŠ JSON ู‡ูˆ ุตูˆุงุจ / ุฎุทุฃ ุŒ ู„ุฐู„ูƒ ู„ุง ูŠู…ูƒู† ู„ู„ู…ุณุชุฎุฏู… ุงู„ุงุฎุชูŠุงุฑ.

ู„ุง ูŠู…ูƒู†ู‡ู… ุงู„ุงุฎุชูŠุงุฑ ููŠ JSON ุŒ ู„ูƒู† ูŠู…ูƒู†ู‡ู… ุงู„ุงุฎุชูŠุงุฑ ุนู†ุฏ ุงุณุชุฎุฏุงู… kdb set

ุจูŠู† ุงู„ู†ูˆุน ูˆุงู„ุชุฎุฒูŠู†

ูŠุฌุจ ุฃู† ูŠูƒูˆู† ุงู„ุทู„ุจ ุนู„ู‰ ุงู„ู†ุญูˆ ุงู„ุชุงู„ูŠ: getstorage ุŒ type ุŒ [other] ุŒ type ุŒ setstorage ุŒ ุจู…ุนู†ู‰ ุฃู†ู‡ ู„ุง ูŠุฌุจ ุฃู† ูŠูƒูˆู† ู‡ู†ุงูƒ ุฃูŠ ู…ูƒูˆู†ุงุช ุฅุถุงููŠุฉ ุจูŠู† ุงู„ู†ูˆุน ูˆุงู„ุชุฎุฒูŠู†.

ู„ู‚ุฏ ู‚ู…ุช ุจุชุญุฏูŠุซ "ุชู„ู…ูŠุญ ุงู„ุชู†ููŠุฐ" ุฃุนู„ุงู‡ ู„ูŠุนูƒุณ ุฐู„ูƒ.

ู„ุง ุชุฒุงู„ ู‡ู†ุงูƒ ู…ุดูƒู„ุฉ ุŒ ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ ุŒ ู„ู† ูŠุนู…ู„ kdb set user/tests/yajl on ุŒ ุจุฏูˆู† ุชุบูŠูŠุฑุงุช ุนู„ู‰ type ุŒ ู„ุฃู†ู‡ ููŠ ู‡ุฐู‡ ุงู„ุญุงู„ุฉ type ุณูŠู…ุฑุฑ ุงู„ู‚ูŠู…ุฉ on ุฅู„ู‰ setstorage ุชูˆุตูŠู„ ููŠ.

ูŠุฏุนู… JSON ูู‚ุท double / boolean / string. ู‡ู„ ู…ู† ุงู„ู…ู…ูƒู† ุฃู† ู†ู‚ูˆู„ ู„ู„ู†ูˆุน ุงู„ู…ุณุงุนุฏ ุฃู† ู‡ุฐู‡ ุงู„ุฃู†ูˆุงุน ุงู„ุซู„ุงุซุฉ ูู‚ุท ู…ุณู…ูˆุญ ุจู‡ุงุŸ

ู„ุง ูŠู†ุจุบูŠ ุฃู† ูŠูƒูˆู† ู…ู† ุงู„ุตุนุจ ุชู‚ูŠูŠุฏ ุงู„ุฃู†ูˆุงุน ุงู„ู…ุณู…ูˆุญ ุจู‡ุง ุนุจุฑ ู…ู„ู config.

ู„ุง ูŠู…ูƒู†ู‡ู… ุงู„ุงุฎุชูŠุงุฑ ููŠ JSON ุŒ ู„ูƒู† ูŠู…ูƒู†ู‡ู… ุงู„ุงุฎุชูŠุงุฑ ุนู†ุฏ ุงุณุชุฎุฏุงู… ู…ุฌู…ูˆุนุฉ kdb

ู…ุง ุชู… ุงุฎุชูŠุงุฑู‡ ููŠ kdb set ู„ุง ูŠู…ูƒู† ุชุฐูƒุฑู‡ ุนู„ู‰ ุฃูŠ ุญุงู„ ุฅุฐุง ูƒุงู† ุชู†ุณูŠู‚ ุงู„ู…ู„ู ู„ุง ูŠุฏุนู…ู‡.

ู„ุง ุชุฒุงู„ ู‡ู†ุงูƒ ู…ุดูƒู„ุฉ ุชุชู…ุซู„ ููŠ ุฃู† kdb set user / tests / yajl on ู„ู† ูŠุนู…ู„ ุŒ ุจุฏูˆู† ุชุบูŠูŠุฑุงุช ุนู„ู‰ ุงู„ูƒุชุงุจุฉ ุŒ ู„ุฃู†ู‡ ููŠ ู‡ุฐู‡ ุงู„ุญุงู„ุฉ ุณูŠู…ุฑุฑ ุงู„ู†ูˆุน ุงู„ู‚ูŠู…ุฉ ุฅู„ู‰ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ setstorage.

ู„ู…ุงุฐุง ู„ุง ูŠุชุญูˆู„ ุฅู„ู‰ "1" ููŠ ู‡ุฐู‡ ุงู„ุญุงู„ุฉุŸ

ู„ุง ูŠู†ุจุบูŠ ุฃู† ูŠูƒูˆู† ู…ู† ุงู„ุตุนุจ ุชู‚ูŠูŠุฏ ุงู„ุฃู†ูˆุงุน ุงู„ู…ุณู…ูˆุญ ุจู‡ุง ุนุจุฑ ู…ู„ู config.

ุฑุจู…ุง ู„ุง ูŠู‡ู… ุญุชู‰. ู‡ู„ ูŠูุญุฏุซ ูุฑู‚ู‹ุง ุฅุฐุง ู‚ุงู„ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ ุงู„ุชุฎุฒูŠู† ุฃูˆ ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ ู„ู„ู†ูˆุน ุฃู† ุงู„ู†ูˆุน ุบูŠุฑ ู…ุณู…ูˆุญ ุจู‡ุŸ ุณูŠูƒูˆู† ู…ู† ุงู„ุฌูŠุฏ ุฃู† ูŠู‚ูˆู„ ุจุฑู†ุงู…ุฌ ุงู„ุชุฎุฒูŠู† ุงู„ุชุนู„ูŠู…ูŠ ุฃูŠุถู‹ุง ุดูŠุฆู‹ุง ุนู† ุงู„ุฃู†ูˆุงุน ( sanssecours ุŸ)

ู‡ู„ ูŠูุญุฏุซ ูุฑู‚ู‹ุง ุฅุฐุง ู‚ุงู„ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ ุงู„ุชุฎุฒูŠู† ุฃูˆ ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ ู„ู„ู†ูˆุน ุฃู† ุงู„ู†ูˆุน ุบูŠุฑ ู…ุณู…ูˆุญ ุจู‡ุŸ

ู„ูŠุณ ู‡ุฐุง ู…ุง ุฃุนู„ู…ู‡ ุนู†. ุฑุจู…ุง ูŠูƒูˆู† ู…ู† ุงู„ุฃูุถู„ ุฑูุน ุงู„ุฎุทุฃ ููŠ ุงู„ู…ูƒูˆูู‘ู† ุงู„ุฅุถุงููŠ ู„ู„ุชุฎุฒูŠู† ุŒ ู„ุฃู† ุงู„ู…ุณุชุฎุฏู… ุญูŠู†ุฆุฐู ูŠุฑู‰ ุฃู† ุงู„ู…ุดูƒู„ุฉ ุชูƒู…ู† ููŠ ุงุณุชุฎุฏุงู… yajl ูˆู„ูŠุณ ุงุณุชุฎุฏุงู… type .

ู„ู…ุงุฐุง ู„ุง ูŠุชุญูˆู„ ุฅู„ู‰ "1" ููŠ ู‡ุฐู‡ ุงู„ุญุงู„ุฉุŸ

ูŠู…ูƒู† ูˆุตู ุฅุฌุฑุงุก ุงู„ุชุทุจูŠุน / ุงู„ุงุณุชุนุงุฏุฉ ุจุงู„ุญุงู„ุงุช ุงู„ุชุงู„ูŠุฉ:

  • ุงู„ุญุงู„ุฉ 1: ุงู„ู…ูุชุงุญ ู…ูˆุฌูˆุฏ ููŠ kdbGet ูˆู„ู… ูŠุชุบูŠุฑ ุจูŠู† kdbGet ูˆ kdbSet
    ู‡ุฐู‡ ู‡ูŠ ุงู„ุญุงู„ุฉ ุงู„ุฃุณู‡ู„ ูˆุงู„ุฃูƒุซุฑ ูˆุถูˆุญู‹ุง. ุชู…ุช ุชุณูˆูŠุฉ ุงู„ู‚ูŠู…ุฉ ููŠ kdbGet ูˆุชุชู… ุงุณุชุนุงุฏุฉ ุงู„ู‚ูŠู…ุฉ ุงู„ุฃุตู„ูŠุฉ ููŠ kdbSet ุŒ ุจุญูŠุซ ูŠุธู„ ู…ู„ู ุงู„ุชุฎุฒูŠู† ุงู„ุฃุณุงุณูŠ ุฏูˆู† ุชุบูŠูŠุฑ (ุงูƒุชุจ ุงู„ู…ูุชุงุญ ุงู„ู…ุนู†ูŠ)
  • ุงู„ุญุงู„ุฉ 2: ุงู„ู…ูุชุงุญ ุบูŠุฑ ู…ูˆุฌูˆุฏ ููŠ kdbGet
    ู‡ู†ุง ู†ู‚ูˆู… ุจุชุทุจูŠุน ุงู„ู‚ูŠู…ุฉ ู„ู„ุชุญู‚ู‚ ู…ู† ุงู„ู†ูˆุน ุซู… ุงุณุชุนุงุฏุชู‡ ุนู„ู‰ ุงู„ููˆุฑ.
  • ุงู„ุญุงู„ุฉ 3: ุงู„ู…ูุชุงุญ ู…ูˆุฌูˆุฏ ููŠ kdbGet ุŒ ู„ูƒู† ุชู… ุชุบูŠูŠุฑ kdbGet ุจูŠู† kdbSet
    ูˆู‡ุฐุง ุฃู…ุฑ ุถุฑูˆุฑูŠ ู†ูุณ ุญุงู„ุฉ 2. keySetString ูŠุฒูŠู„ origvalue ุงู„ููˆู‚ูŠุฉุŒ ูˆุฐู„ูƒ ู„ type ุงู„ู…ุณุงุนุฏ ู‡ุฐุง ุงู„ู†ูˆุน ู…ู† ู…ูุชุงุญ ู„ู… ุชูƒู† ู…ูˆุฌูˆุฏุฉ ููŠ kdbGet .

ู‡ู†ุงูƒ ุญุงู„ุฉ ุฎุงุตุฉ ูˆุงุญุฏุฉ. ู„ู‚ุฏ ุฃุถูุช ุจุงู„ูุนู„ ูˆุธุงุฆู ูŠู…ูƒู† ุงุณุชุฎุฏุงู…ู‡ุง ู‡ู†ุง (ู„ู‚ุฏ ู†ุณูŠุช ุฅุถุงูุชู‡ุง ุฅู„ู‰ ุงู„ู…ุนู„ูˆู…ุงุช / ุงู„ุจูŠุงู†ุงุช ุงู„ูˆุตููŠุฉ):

https://github.com/ElektraInitiative/libelektra/blob/6e609f7e78039db188e32d32d2ea13908c0abe38/src/plugins/type/README.md#L84 -L88

ุฅุฐุง ู‚ุงู… yajl ุจุญู‚ู† ุงู„ุจูŠุงู†ุงุช ุงู„ูˆุตููŠุฉ check/boolean/true = true ูˆ check/boolean/false = false ู„ุฌู…ูŠุน ุงู„ู…ูุงุชูŠุญ ุงู„ู…ู†ุทู‚ูŠุฉ ุŒ ูŠุฌุจ ุฃู† ุชุนู…ู„ ุฌู…ูŠุน ุนู…ู„ูŠุงุช ุงู„ุชุณูˆูŠุฉ ูˆุงู„ุงุณุชุนุงุฏุฉ ุนู„ู‰ ุงู„ู†ุญูˆ ุงู„ู…ู†ุดูˆุฏ. ุณูŠู‚ุจู„ ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ type ุงู„ู‚ูŠู… true ุŒ 1 ุŒ false ูˆ 0 ู„ู„ู…ูุงุชูŠุญ ุงู„ู…ู†ุทู‚ูŠุฉ (in get and set) ุŒ ูˆู„ูƒู†ู‡ ุณูŠู…ุฑุฑ ุฏุงุฆู…ู‹ุง true ุฃูˆ false ุฅู„ู‰ ุงู„ู…ูƒูˆู‘ู† ุงู„ุฅุถุงููŠ setstorage. ูŠุฌุจ ุฃู† ูŠุณุชู…ุฑ ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ yajl ุจุฅุฑุฌุงุน 0 / 1 ููŠ ุงู„ุญุตูˆู„ ุนู„ูŠู‡ ูˆูŠุฌุจ ุฃู† ูŠู‚ุจู„ true / false ุจุงู„ุฅุถุงูุฉ ุฅู„ู‰ 0 / 1 ููŠ ุงู„ู…ุฌู…ูˆุนุฉ ุŒ ุจุญูŠุซ ูŠุนู…ู„ ู…ุน ุฃูˆ ุจุฏูˆู† ุงู„ู…ูƒูˆู‘ู† ุงู„ุฅุถุงููŠ type .

ุฅุฐุง ุงุฎุชุฑู†ุง ุงู„ู†ุฒูˆู„ ุจู‡ุฐู‡ ุงู„ุทุฑูŠู‚ุฉ ุŒ ูุนู„ูŠู†ุง ุชูˆุซูŠู‚ู‡ ุฌูŠุฏู‹ุง ุŒ ู„ุฃู† ุชุซุจูŠุช ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ ู…ู† ุงู„ู†ูˆุน ู„ู† ูŠุณู…ุญ ุจุนุฏ ุงู„ุขู† ุจุงุณุชุฎุฏุงู… ู‚ูŠู… ู…ุฎุชู„ูุฉ ู„ู„ู…ูุงุชูŠุญ ุงู„ู…ู†ุทู‚ูŠุฉ ููŠ kdb set ุŒ ู„ุฃู† yajl ุณุฑู‹ุง ูŠุชุฌุงูˆุฒ ุฃูŠ ุชูƒูˆูŠู† ู‚ุฏู…ู‡ ุงู„ู…ุณุชุฎุฏู….

ู„ูŠุณ ู‡ุฐุง ู…ุง ุฃุนู„ู…ู‡ ุนู†. ุฑุจู…ุง ูŠูƒูˆู† ู…ู† ุงู„ุฃูุถู„ ุฑูุน ุงู„ุฎุทุฃ ููŠ ู…ู„ุญู‚ ุงู„ุชุฎุฒูŠู† ุŒ ู„ุฃู† ุงู„ู…ุณุชุฎุฏู… ุญูŠู†ู‡ุง ูŠุฑู‰ ุฃู† ุงู„ู…ุดูƒู„ุฉ ุชูƒู…ู† ููŠ ุงุณุชุฎุฏุงู… yajl ูˆู„ูŠุณ ุงุณุชุฎุฏุงู… ุงู„ู†ูˆุน.

ุจุงู„ุถุจุท.

ูŠู…ูƒู† ูˆุตู ุฅุฌุฑุงุก ุงู„ุชุทุจูŠุน / ุงู„ุงุณุชุนุงุฏุฉ ููŠ ุงู„ุญุงู„ุงุช ุงู„ุชุงู„ูŠุฉ
[...] (ู„ู‚ุฏ ู†ุณูŠุช ุฅุถุงูุชู‡ ุฅู„ู‰ ุงู„ู…ุนู„ูˆู…ุงุช / ุงู„ุจูŠุงู†ุงุช ุงู„ูˆุตููŠุฉ)

ุดูƒุฑุง ู„ุดุฑุญ ู…ูุตู„. ู‡ู„ ูŠู…ูƒู†ูƒ ุฅุถุงูุฉ ู‡ุฐุง ุฅู„ู‰ ูˆุซุงุฆู‚ู†ุง ู…ู† ูุถู„ูƒุŸ

ู„ู† ูŠุณู…ุญ ุจุนุฏ ุงู„ุขู† ุจุงุณุชุฎุฏุงู… ู‚ูŠู… ู…ุฎุชู„ูุฉ ู„ู„ู…ูุงุชูŠุญ ุงู„ู…ู†ุทู‚ูŠุฉ ููŠ ู…ุฌู…ูˆุนุฉ kdb

ุจุงุณุชุฎุฏุงู… "config / needs" ุŒ ูŠู…ูƒู† ู„ู€ yajl ุงู„ุชุฃูƒุฏ ู…ู† ุฃู† ุงู„ู†ูˆุน ู…ุซุจุช ุจุงุณุชุฎุฏุงู… "check / boolean / true = true ูˆ check / boolean / false = false".

ูู‡ู„ ูŠุฌุจ ุนู„ูŠ ุชุบูŠูŠุฑ ุชู„ู…ูŠุญ ุงู„ุชู†ููŠุฐุŸ

ุจุงุณุชุฎุฏุงู… "config / needs" ุŒ ูŠู…ูƒู† ู„ู€ yajl ุงู„ุชุฃูƒุฏ ู…ู† ุฃู† ุงู„ู†ูˆุน ู…ุซุจุช ุจุงุณุชุฎุฏุงู… "check / boolean / true = true ูˆ check / boolean / false = false".

ู„ู‚ุฏ ุฃุณุฃุช ุงู„ูู‡ู… ุŒ ุงู„ุขู† ูŠุฌุจ ุชุนูŠูŠู† check/boolean/true ูˆ check/boolean/false ูƒุจูŠุงู†ุงุช ูˆุตููŠุฉ ุนู„ู‰ ู…ูุชุงุญ ูุฑุฏูŠ ุŒ ูˆู„ูŠุณ ููŠ ุงู„ุชูƒูˆูŠู† type . ูŠุฌุจ ุฅุถุงูุฉ ุงู„ุฏุนู… ุงู„ุนุงู… ุฏุงุฎู„ ุงู„ุชูƒูˆูŠู† (ุณู‡ู„ ุจู…ุง ููŠู‡ ุงู„ูƒูุงูŠุฉ).

ู…ูˆุงูู‚. ู„ุง ุŒ ุซู… ุงุชุฑูƒู‡ ูƒู…ุง ู‡ูˆ. ู…ู† ุงู„ู…ู†ุทู‚ูŠ ุชู†ููŠุฐ ูƒู„ ุดูŠุก ููŠ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ yajl.
ุฃุถูุช ูƒุชู„ู…ูŠุญ ุชู†ููŠุฐ:

ูŠุญุชุงุฌ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ yajl ุฅู„ู‰:

  • [] ุนุฑุถ ู‚ูŠู… Elektra "0" ูˆ "1" ุนู„ู‰ ุฎุทุฃ ูˆุตุญูŠุญ ููŠ JSON.
  • [] ุชูุดู„ ู…ุน ุฃุฎุทุงุก ุงู„ู†ูˆุน ุฅุฐุง ุชู… ุงู„ุนุซูˆุฑ ุนู„ู‰ ุฃู†ูˆุงุน ุบูŠุฑ ู…ุฏุนูˆู…ุฉ

sanssecours ู‡ู„ ูŠู…ูƒู†ูƒ ุฅุถุงูุฉ ู‡ุฐู‡ ุงู„ู…ุนู„ูˆู…ุงุช ุฅู„ู‰ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ุชุนู„ูŠู…ูŠ

yajl ุฃูŠุถู‹ุง ุฅุถุงูุฉ ุงู„ุจูŠุงู†ุงุช ุงู„ูˆุตููŠุฉ check/boolean/true = true ูˆ check/boolean/false = false ู„ูƒู„ ู…ูุชุงุญ ู…ุน type = boolean . ูˆุฅู„ุง ุณุชุญุฏุซ ู…ุดูƒู„ุฉ kdb set /some/key on ุงู„ู…ุฐูƒูˆุฑุฉ ุฃุนู„ุงู‡.

ูŠุฌุจ ุนู„ู‰ yajl ุฃูŠุถู‹ุง ุฅุถุงูุฉ ุงู„ุจูŠุงู†ุงุช ุงู„ูˆุตููŠุฉ

ู‡ู„ ู‡ุฐุง ุถุฑูˆุฑูŠ ุฃูŠุถู‹ุง ุฅุฐุง ูƒุงู† yajl ูŠู…ู†ุญูƒ ุฏุงุฆู…ู‹ุง "0" ูˆ "1" ูู‚ุท ู„ู„ู…ู†ุทู‚ูŠู†ุŸ

ู†ุนู… ุŒ ุจุณุจุจ ุญุฏูˆุซ ุงู„ู…ุดูƒู„ุฉ ุŒ ุนู†ุฏู…ุง ูŠุบูŠุฑ ุงู„ู…ุณุชุฎุฏู… ู‚ูŠู…ุฉ ุงู„ู…ูุชุงุญ ุจุนุฏ kdbGet . yajl ู„ูŠุณ ู„ู‡ ุชุฃุซูŠุฑ ุนู„ู‰ ุฐู„ูƒ.

ู„ูƒู† ู„ุง ุฏุงุนูŠ ู„ู„ู‚ู„ู‚ ุŒ ูู†ุญู† ุจุญุงุฌุฉ ุฅู„ู‰ ุชุบูŠูŠุฑุงุช ุนู„ู‰ ุงู„ู…ูƒูˆู‘ู† ุงู„ุฅุถุงููŠ type ุฃูŠ ุญุงู„ ุŒ ู„ุฃู†ู‡ ุฅุฐุง ุฃุถุงู ุงู„ู…ุณุชุฎุฏู… ู…ูุชุงุญู‹ุง ุฌุฏูŠุฏู‹ุง ุŒ ูู„ู† ุชูƒูˆู† ุงู„ุจูŠุงู†ุงุช ุงู„ูˆุตููŠุฉ ู…ูˆุฌูˆุฏุฉ ูˆู„ู† ูŠุนู…ู„ ุงู„ุญู„.

ุฅุฐู† ู†ุญู† ุจุญุงุฌุฉ ุฅู„ู‰ ุฃู† ูŠูƒูˆู† ู†ูˆุน ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ ู…ุชุงุญู‹ุง ู…ุฑุชูŠู† ููŠ ุงู„ู…ุณุงุฑ kdbSet ุญุชู‰ ูŠุนู…ู„ ุงู„ุชุทุจูŠุน ุจุดูƒู„ ุตุญูŠุญุŸ ู‡ู„ ูŠู…ูƒู†ูƒ ุฅู†ุดุงุก ู…ุดูƒู„ุฉุŸ

ู„ุง ุŒ ู…ุน # 2582 yajl (ุฃูˆ ุงู„ู…ุณุชุฎุฏู…) ูŠุญุชุงุฌ ูู‚ุท ุฅู„ู‰ ุงู„ุชุฃูƒุฏ ู…ู† ุฃู† ุงู„ุชูƒูˆูŠู† ู„ู€ type ูŠุญุชูˆูŠ ุฃูŠุถู‹ุง ุนู„ู‰

  • ู„ุง ุชูˆุฌุฏ ู…ุตููˆูุฉ booleans ูˆ boolean/restore = #1
    ุฃูˆ
  • ุชุญุชูˆูŠ ุนู„ู‰ ู…ุตููˆูุฉ booleans ุชุญุชูˆูŠ ุนู„ู‰ "true" ูˆ "false" ููŠ ุงู„ู…ูˆุถุน #X ูˆ boolean/restore = #X

ุณุฃุญุงูˆู„ ุฅุตู„ุงุญ ู‡ุฐุง ุŒ ูˆู„ูƒู† ู„ุฏูŠ ุณุคุงู„.

ุฃู„ุง ูŠู†ุจุบูŠ ุฃู† ูŠูƒูˆู† ูƒุงููŠู‹ุง ุชุนูŠูŠู† type=boolean ูˆ type/boolean/restoreas=none ุนู„ู‰ ู…ูุชุงุญ ุฃู‚ูˆู… ุจุชุญู„ูŠู„ู‡ ุนู„ู‰ ุฃู†ู‡ ู…ู†ุทู‚ูŠ ููŠ elektraYajlGet ุŸ ุซู… ููŠ elektraYajlSet ูŠุฌุจ ุฃู† ุฃุชู„ู‚ู‰ ู‡ุฐุง ุงู„ู…ูุชุงุญ ุจู‚ูŠู…ุฉ ุฅู…ุง 1 ุฃูˆ 0 ุŒ ุฃู„ูŠุณ ูƒุฐู„ูƒุŸ

ู„ูƒู† ู…ุง ุฒู„ุช ุฃุชู„ู‚ู‰ ุงู„ู‚ูŠู…ุฉ ุงู„ุชูŠ ูŠูˆูุฑู‡ุง ุงู„ู…ุณุชุฎุฏู…

# kdb mount conf.json user/tests/yajl yajl type
# kdb set user/tests/yajl 1
Set string to "1"
# kdb setmeta user/tests/yajl type boolean
# kdb set user/tests/yajl false
Sorry, 1 warning was issued ;(
    Sorry, module yajl issued the warning C03200:
    Validation Semantic: Got boolean which is neither true nor false
Set string to "false"
Case 2: The Key didn't exist in `kdbGet`
  Here we normalize the value to verify the type and then restore it immediately.

ุชุถู…ูŠู† ุงู„ุชุบุฑูŠุฏุฉ
ู‡ู„ ู…ู† ุงู„ู…ู…ูƒู† ููŠ ู‡ุฐู‡ ุงู„ุญุงู„ุฉ ุงุณุชุนุงุฏุฉ ุงู„ู‚ูŠู…ุฉ ุฏุงุฆู…ู‹ุง ุญุชู‰ ู„ูˆ ูƒุงู† type/boolean/restoreas=none ุŸ

/boolean/restoreas ูˆุณูŠู„ุฉ ู„ู„ู…ูุงุชูŠุญ ุงู„ูุฑุฏูŠุฉ. ุฅู†ู‡ ุฌุฒุก ู…ู† ุงู„ุชูƒูˆูŠู† ู„ู…ุซูŠู„ ุงู„ู…ูƒูˆู‘ู† ุงู„ุฅุถุงููŠ type ุงู„ู…ุณุชุฎุฏู… ู„ู†ู‚ุทุฉ ุงู„ุชุญู…ูŠู„ ุจุฃูƒู…ู„ู‡ุง.

ุฃุนุชู‚ุฏ ุฃู†ู‡ ูŠูƒููŠ ุฅุถุงูุฉ config/needs = type/boolean/restoreas=none ุฅู„ู‰ ุฑุฃุณ src/pluigns/yajl/README.md . (ุนู„ู‰ ุงู„ุฃู‚ู„ ู„ู„ุชุฑูƒูŠุจ ุนุจุฑ kdb mount )

ูŠุจุฏูˆ ุฃู† ุฅุถุงูุฉ - infos/config/needs = type/boolean/restoreas=none ุฎุทุฃ ููŠ ุงู„ู…ุชุฑุฌู….

/elektra/build/src/plugins/yajl/readme_yajl.c:11:55: error: expected โ€˜)โ€™ before โ€˜keyNewโ€™
 "- infos/config/needs = type/boolean/restoreas=none\n"
                                                       ^
                                                       )

ู‡ู„ ูŠู…ูƒู†ู†ูŠ ุถุจุท ุงู„ู…ูุชุงุญ ุจุฑู…ุฌูŠู‹ุง ุฃูŠุถู‹ุงุŸ ู„ุง ูŠู…ูƒู†ู†ูŠ ุงู„ุนุซูˆุฑ ุนู„ู‰ ูˆุซุงุฆู‚ ุญูˆู„ ูƒูŠููŠุฉ ุชูƒูˆูŠู† ู…ูƒูˆู† ุฅุถุงููŠ ุขุฎุฑ.

ุฃุนุชู‚ุฏ ุฃู†ู‡ ูŠุฌุจ ุฃู† ูŠูƒูˆู† config/need ูˆู„ูŠุณ infos/config/needs . ู„ุง ูŠู…ูƒู†ู†ูŠ ุงู„ุชุญู‚ู‚ ู…ู† ุฐู„ูƒ ุงู„ุขู† ุจุงู„ุฑุบู… ู…ู† ุฐู„ูƒ.

ูŠุชู… ุชุญูˆูŠู„ ุฑุฃุณ README ุฅู„ู‰ ุณุทูˆุฑ keyNew ุŒ ูˆุงู„ุชูŠ ุชู‚ูˆู… ุจุนุฏ ุฐู„ูƒ ุจุชุถู…ูŠู†ู‡ุง ููŠ ุงู„ู…ูƒูˆู†ุงุช ุงู„ุฅุถุงููŠุฉ get ุทุฑูŠู‚ุฉ. ูŠู…ูƒู†ูƒ ุฅุถุงูุฉ ุฃุดูŠุงุก ู‡ู†ุงูƒ ูŠุฏูˆูŠู‹ุง ุŒ ูˆูŠูุถู„ ุงุณุชุฎุฏุงู… README ุŒ ู„ุฃู†ู‡ ูŠูˆูุฑ ุงู„ูˆุซุงุฆู‚ ุชู„ู‚ุงุฆูŠู‹ุง.

ู‡ู„ ูŠู…ูƒู†ู†ูŠ ุถุจุท ุงู„ู…ูุชุงุญ ุจุฑู…ุฌูŠู‹ุง ุฃูŠุถู‹ุงุŸ

ู†ุนู… ุŒ ูู‚ุท ู‚ู… ุจุฅุถุงูุชู‡ ุฅู„ู‰ ู…ุฌู…ูˆุนุฉ ู…ูุงุชูŠุญ ุงู„ุนู‚ุฏ. ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ ุŒ ูŠูˆุถุญ ุงู„ุณุทุฑ ุงู„ุชุงู„ูŠ ูƒูŠููŠุฉ ุชูƒูˆูŠู† YAML CPP ู„ู„ู…ูƒูˆูู‘ู† ุงู„ุฅุถุงููŠ type :

https://github.com/ElektraInitiative/libelektra/blob/5519cb8066a096215a3701ca3d8c02fcebe54914/src/plugins/yamlcpp/yamlcpp.cpp#L44
.

ุดูƒุฑุง ู„ูƒู…ุง!

ู…ุน # 3012 ุŒ ูŠู…ุชู„ูƒ ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ yajl ุงู„ุณู„ูˆูƒ ุงู„ุชุงู„ูŠ.

ู…ุน ู†ูˆุน ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ

kdb mount conf.json user/tests/yajl yajl type
kdb set user/tests/yajl 1
kdb get user/tests/yajl
#> 1
kdb setmeta user/tests/yajl type boolean
kdb set user/tests/yajl on
kdb get user/tests/yajl
#> 1
kdb set user/tests/yajl/subkey disable
kdb setmeta user/tests/yajl/subkey type boolean
kdb get user/tests/yajl/subkey
#> 0

cat `kdb file user/tests/yajl`
{
    "___dirdata": true,
    "subkey": true
}

ุจุฏูˆู† ู†ูˆุน ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ

ูŠุฌุจ ุฃู† ูŠุณุชู…ุฑ ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ yajl ุจุฅุฑุฌุงุน 0 / 1 ููŠ ุงู„ุญุตูˆู„ ุนู„ูŠู‡ ูˆูŠุฌุจ ุฃู† ูŠู‚ุจู„ true / false ุจุงู„ุฅุถุงูุฉ ุฅู„ู‰ 0 / 1 ููŠ ุงู„ู…ุฌู…ูˆุนุฉ ุŒ ุจุญูŠุซ ูŠุนู…ู„ ู…ุน ุฃูˆ ุจุฏูˆู† ุงู„ู…ูƒูˆู‘ู† ุงู„ุฅุถุงููŠ type .

kdb mount conf.json user/tests/yajl yajl
kdb set user/tests/yajl 1
kdb getmeta user/tests/yajl type
#> boolean
kdb set user/tests/yajl false
kdb getmeta user/tests/yajl type
#> boolean
kdb get user/tests/yajl
#> 0

# Without the type plugin, 'on' is mapped to a string and a warning is emitted.
kdb set user/tests/yajl on
#> RET: 2
* fail with type errors if non-supported types are found

ู‡ู„ ูŠุดูŠุฑ ุฐู„ูƒ ุฅู„ู‰ ูˆู‚ุช ุชุซุจูŠุช ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ ุฃูˆ ุจุฏูˆู†ู‡ุŸ

ููŠ ู‡ุฐู‡ ุงู„ุญุงู„ุฉ ุงู„ุฃุฎูŠุฑุฉ ุŒ ูƒุงู† ุงู„ุณู„ูˆูƒ ุญุชู‰ ุงู„ุขู† ู‡ูˆ ุฅุฑุณุงู„ ุชุญุฐูŠุฑ.

 Sorry, 1 warning was issued ;(
    Sorry, module yajl issued the warning C03200:
    Validation Semantic: Got boolean which is neither 1 or true nor 0 or false

ุฃุนุชู‚ุฏ ุฃู† ู‡ุฐุง ู„ุง ูŠุฒุงู„ ุฌูŠุฏู‹ุง ุŒ ู„ุฃู†ู‡ ุจุฏูˆู† ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ ู„ู„ู†ูˆุน ุŒ ู„ุง ูŠู†ุจุบูŠ ุฃู† ูŠูƒูˆู† ู‡ู†ุงูƒ ูุญุต ู„ู„ูƒุชุงุจุฉ.

ููŠ ุงู„ูˆุงู‚ุน ุŒ ูŠุฌุจ ุฃู† ุชุญุฐุฑ (ุฃูˆ ุญุชู‰ ุชูุดู„) ุจุดุฃู† ุฃูŠ ุดูŠุก ุจุงุณุชุซู†ุงุก "1" ุฃูˆ "0". ูƒู…ุง ุฃู† "ุตูˆุงุจ" ูˆ "ุฎุทุฃ" ู„ุง ูŠู…ุซู„ุงู† ู‚ูŠู… ู…ู†ุทู‚ูŠุฉ ู„ุฅู„ูƒุชุฑุง.

Imho ุŒ ูŠุฌุจ ุฃู† ูŠูƒูˆู† ู„ู„ู…ูƒูˆูู‘ู† ุงู„ุฅุถุงููŠ yajl ุชุจุนูŠุฉ "ุชุชุทู„ุจ" ู„ู†ูˆุน ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ. (ูˆู„ูƒู† ู†ุญุชุงุฌ ุฃูˆู„ุงู‹ ุฃูŠุถู‹ุง ุฅู„ู‰ ุฅุตู„ุงุญ "ุงู„ุฑู‚ู…" ุŒ ู„ุฃู†ู‡ ู„ูŠุณ ุฃุญุฏ ุฃู†ูˆุงุน Elektra).

ููŠ ุงู„ูˆุงู‚ุน ุŒ ูŠุฌุจ ุฃู† ุชุญุฐุฑ (ุฃูˆ ุญุชู‰ ุชูุดู„) ุจุดุฃู† ุฃูŠ ุดูŠุก ุจุงุณุชุซู†ุงุก "1" ุฃูˆ "0". ูƒู…ุง ุฃู† "ุตูˆุงุจ" ูˆ "ุฎุทุฃ" ู„ุง ูŠู…ุซู„ุงู† ู‚ูŠู… ู…ู†ุทู‚ูŠุฉ ู„ุฅู„ูƒุชุฑุง.

ูƒุชุจ kodebach

ู„ุง ูŠุฒุงู„ ู…ู† ุงู„ู…ูุชุฑุถ ุฃู† ูŠุนุฑุถ ุงู„ู…ูƒูˆู† ุงู„ุฅุถุงููŠ yajl 0/1 ููŠ get ูˆูŠุฌุจ ุฃู† ูŠู‚ุจู„ true / false ุจุงู„ุฅุถุงูุฉ ุฅู„ู‰ 0/1 ููŠ ุงู„ู…ุฌู…ูˆุนุฉ ุŒ ุจุญูŠุซ ูŠุนู…ู„ ู…ุน ุฃูˆ ุจุฏูˆู† ู†ูˆุน ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ.

ู‡ุฐุง ู…ุง ุฃุณู…ุญ ุจู‡ ุฃูŠุถู‹ุง "ุตูˆุงุจ" ูˆ "ุฎุทุฃ".

Imho ุŒ ูŠุฌุจ ุฃู† ูŠูƒูˆู† ู„ู„ู…ูƒูˆูู‘ู† ุงู„ุฅุถุงููŠ yajl ุชุจุนูŠุฉ "ุชุชุทู„ุจ" ู„ู†ูˆุน ุงู„ุจุฑู†ุงู…ุฌ ุงู„ู…ุณุงุนุฏ. (ูˆู„ูƒู† ู†ุญุชุงุฌ ุฃูˆู„ุงู‹ ุฃูŠุถู‹ุง ุฅู„ู‰ ุฅุตู„ุงุญ "ุงู„ุฑู‚ู…" ุŒ ู„ุฃู†ู‡ ู„ูŠุณ ุฃุญุฏ ุฃู†ูˆุงุน Elektra).

ู†ุนู… ุŒ ุฃู†ุง ุฃูˆุงูู‚ ุชู…ุงู…ู‹ุง ุนู„ู‰ ุงู„ุชุจุนูŠุฉ. ุซู… ูŠู…ูƒู†ู†ุง ุฅุฒุงู„ุฉ ุงู„ุฏุนู… ู„ูƒู„ ู…ู† "ุตูˆุงุจ" ูˆ "ุฎุทุฃ".

ููŠู…ุง ูŠุชุนู„ู‚ ุจู…ุดูƒู„ุฉ ุงู„ุฑู‚ู…: ูŠุฌู„ ูŠุนูŠู‘ู† ู†ูˆุน ุงู„ุฑู‚ู… ู„ู…ุถุงุนูุฉ ุŒ ูˆู‡ูˆ ุฃู…ุฑ ุฌูŠุฏ ุนู„ู‰ ู…ุง ุฃุนุชู‚ุฏ. ูˆู…ู† ุงู„ุชุญู‚ู‚ ุงู„ุณุฑูŠุน ุŒ ูุฅู† ุงู„ู†ูˆุน ุงู„ู…ุฒุฏูˆุฌ ู…ู† ุงู„ู†ูˆุน ุงู„ุฅุถุงููŠ ูŠุฏุนู… ุฃูŠุถู‹ุง ุชุฏูˆูŠู† json's E-notation (ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ 3.4e2 ).
ู…ุงุฐุง ุชุฑู‰ ูƒู…ุดูƒู„ุฉุŸ

ู…ุงุฐุง ุชุฑู‰ ูƒู…ุดูƒู„ุฉุŸ

ุขู‡ ุŒ ุฃุฑู‰ ุงู„ุขู† ุฃู†ู‡ ุชู… ุงู„ุชุนู„ูŠู‚ ุนู„ู‰ src / plugins / yajl / testmod_yajl.c 240-251. ูŠุฌุจ ุฅุฒุงู„ุฉ ู‡ุฐุง. (ู„ุง ูŠุฒุงู„ ู‡ู†ุงูƒ ุชูƒุฑุงุฑ ู„ู„ุนุฏุฏ.)

ู‡ู„ ูƒุงู†ุช ู‡ุฐู‡ ุงู„ุตูุญุฉ ู…ููŠุฏุฉุŸ
0 / 5 - 0 ุงู„ุชู‚ูŠูŠู…ุงุช

ุงู„ู‚ุถุงูŠุง ุฐุงุช ุงู„ุตู„ุฉ

markus2330 picture markus2330  ยท  3ุชุนู„ูŠู‚ุงุช

markus2330 picture markus2330  ยท  4ุชุนู„ูŠู‚ุงุช

mpranj picture mpranj  ยท  3ุชุนู„ูŠู‚ุงุช

markus2330 picture markus2330  ยท  3ุชุนู„ูŠู‚ุงุช

markus2330 picture markus2330  ยท  4ุชุนู„ูŠู‚ุงุช