@jjlmoya/utils-developer 1.28.0 → 1.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/entries.ts +4 -1
- package/src/tests/entry_contract.test.ts +10 -0
- package/src/tests/i18n_coverage.test.ts +5 -2
- package/src/tests/locale_completeness.test.ts +1 -1
- package/src/tests/qa-test-helpers.ts +32 -0
- package/src/tests/qa_bibliography_links.test.ts +43 -0
- package/src/tests/qa_claim_evidence.test.ts +69 -0
- package/src/tests/qa_logic_reference_coverage.test.ts +46 -0
- package/src/tests/qa_runtime_i18n.test.ts +115 -0
- package/src/tests/tool_validation.test.ts +1 -1
- package/src/tool/aspectRatio/bibliography.astro +2 -10
- package/src/tool/aspectRatio/bibliography.ts +7 -0
- package/src/tool/aspectRatio/i18n/de.ts +2 -14
- package/src/tool/aspectRatio/i18n/en.ts +2 -14
- package/src/tool/aspectRatio/i18n/es.ts +2 -14
- package/src/tool/aspectRatio/i18n/fr.ts +2 -14
- package/src/tool/aspectRatio/i18n/id.ts +2 -14
- package/src/tool/aspectRatio/i18n/it.ts +2 -14
- package/src/tool/aspectRatio/i18n/ja.ts +2 -14
- package/src/tool/aspectRatio/i18n/ko.ts +2 -14
- package/src/tool/aspectRatio/i18n/nl.ts +2 -14
- package/src/tool/aspectRatio/i18n/pl.ts +2 -14
- package/src/tool/aspectRatio/i18n/pt.ts +2 -14
- package/src/tool/aspectRatio/i18n/ru.ts +2 -14
- package/src/tool/aspectRatio/i18n/sv.ts +2 -14
- package/src/tool/aspectRatio/i18n/tr.ts +2 -14
- package/src/tool/aspectRatio/i18n/zh.ts +2 -14
- package/src/tool/calculadoraTiempoDatos/bibliography.astro +2 -10
- package/src/tool/calculadoraTiempoDatos/bibliography.ts +8 -0
- package/src/tool/calculadoraTiempoDatos/component.astro +6 -2
- package/src/tool/calculadoraTiempoDatos/i18n/de.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/en.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/es.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/fr.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/id.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/it.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +2 -6
- package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +2 -6
- package/src/tool/colorConverter/bibliography.astro +2 -10
- package/src/tool/colorConverter/bibliography.ts +7 -0
- package/src/tool/colorConverter/i18n/de.ts +2 -5
- package/src/tool/colorConverter/i18n/en.ts +5 -8
- package/src/tool/colorConverter/i18n/es.ts +4 -7
- package/src/tool/colorConverter/i18n/fr.ts +2 -5
- package/src/tool/colorConverter/i18n/id.ts +2 -5
- package/src/tool/colorConverter/i18n/it.ts +2 -5
- package/src/tool/colorConverter/i18n/ja.ts +2 -5
- package/src/tool/colorConverter/i18n/ko.ts +2 -5
- package/src/tool/colorConverter/i18n/nl.ts +2 -5
- package/src/tool/colorConverter/i18n/pl.ts +2 -5
- package/src/tool/colorConverter/i18n/pt.ts +2 -5
- package/src/tool/colorConverter/i18n/ru.ts +2 -5
- package/src/tool/colorConverter/i18n/sv.ts +2 -5
- package/src/tool/colorConverter/i18n/tr.ts +2 -5
- package/src/tool/colorConverter/i18n/zh.ts +2 -5
- package/src/tool/conversorExcelCsvHtml/bibliography.astro +2 -10
- package/src/tool/conversorExcelCsvHtml/bibliography.ts +8 -0
- package/src/tool/conversorExcelCsvHtml/component.astro +4 -3
- package/src/tool/conversorExcelCsvHtml/i18n/de.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/en.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/es.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/fr.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/id.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/it.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +2 -6
- package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +2 -6
- package/src/tool/cronGenerator/bibliography.astro +2 -10
- package/src/tool/cronGenerator/bibliography.ts +6 -0
- package/src/tool/cronGenerator/component.astro +5 -1
- package/src/tool/cronGenerator/i18n/de.ts +2 -10
- package/src/tool/cronGenerator/i18n/en.ts +2 -10
- package/src/tool/cronGenerator/i18n/es.ts +2 -10
- package/src/tool/cronGenerator/i18n/fr.ts +2 -10
- package/src/tool/cronGenerator/i18n/id.ts +2 -10
- package/src/tool/cronGenerator/i18n/it.ts +2 -10
- package/src/tool/cronGenerator/i18n/ja.ts +2 -10
- package/src/tool/cronGenerator/i18n/ko.ts +2 -10
- package/src/tool/cronGenerator/i18n/nl.ts +2 -10
- package/src/tool/cronGenerator/i18n/pl.ts +2 -10
- package/src/tool/cronGenerator/i18n/pt.ts +2 -10
- package/src/tool/cronGenerator/i18n/ru.ts +2 -10
- package/src/tool/cronGenerator/i18n/sv.ts +2 -10
- package/src/tool/cronGenerator/i18n/tr.ts +2 -10
- package/src/tool/cronGenerator/i18n/zh.ts +2 -10
- package/src/tool/cssBoxShadowGenerator/component.astro +2 -1
- package/src/tool/cssBoxShadowGenerator/logic.test.ts +28 -0
- package/src/tool/cssSpecificityCalculator/bibliography.astro +2 -10
- package/src/tool/cssSpecificityCalculator/bibliography.ts +6 -0
- package/src/tool/cssSpecificityCalculator/i18n/de.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/en.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/es.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/fr.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/id.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/it.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/ja.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/ko.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/nl.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/pl.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/pt.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/ru.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/sv.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/tr.ts +2 -10
- package/src/tool/cssSpecificityCalculator/i18n/zh.ts +2 -10
- package/src/tool/cssToInlineConverter/bibliography.astro +2 -10
- package/src/tool/cssToInlineConverter/bibliography.ts +7 -0
- package/src/tool/cssToInlineConverter/i18n/de.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/en.ts +4 -16
- package/src/tool/cssToInlineConverter/i18n/es.ts +5 -17
- package/src/tool/cssToInlineConverter/i18n/fr.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/id.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/it.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/ja.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/ko.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/nl.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/pl.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/pt.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/ru.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/sv.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/tr.ts +2 -14
- package/src/tool/cssToInlineConverter/i18n/zh.ts +2 -14
- package/src/tool/duplicateCssRemover/bibliography.astro +2 -10
- package/src/tool/duplicateCssRemover/bibliography.ts +7 -0
- package/src/tool/duplicateCssRemover/i18n/de.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/en.ts +4 -16
- package/src/tool/duplicateCssRemover/i18n/es.ts +4 -16
- package/src/tool/duplicateCssRemover/i18n/fr.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/id.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/it.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/ja.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/ko.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/nl.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/pl.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/pt.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/ru.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/sv.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/tr.ts +2 -14
- package/src/tool/duplicateCssRemover/i18n/zh.ts +2 -14
- package/src/tool/generadorSecurityTxt/bibliography.astro +2 -10
- package/src/tool/generadorSecurityTxt/bibliography.ts +7 -0
- package/src/tool/generadorSecurityTxt/component.astro +1 -2
- package/src/tool/generadorSecurityTxt/i18n/de.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/en.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/es.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/fr.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/id.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/it.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/ja.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/ko.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/nl.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/pl.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/pt.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/ru.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/sv.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/tr.ts +2 -5
- package/src/tool/generadorSecurityTxt/i18n/zh.ts +2 -5
- package/src/tool/hashGenerator/bibliography.astro +2 -10
- package/src/tool/hashGenerator/bibliography.ts +7 -0
- package/src/tool/hashGenerator/i18n/de.ts +2 -5
- package/src/tool/hashGenerator/i18n/en.ts +2 -5
- package/src/tool/hashGenerator/i18n/es.ts +2 -5
- package/src/tool/hashGenerator/i18n/fr.ts +2 -5
- package/src/tool/hashGenerator/i18n/id.ts +2 -5
- package/src/tool/hashGenerator/i18n/it.ts +2 -5
- package/src/tool/hashGenerator/i18n/ja.ts +2 -5
- package/src/tool/hashGenerator/i18n/ko.ts +2 -5
- package/src/tool/hashGenerator/i18n/nl.ts +2 -5
- package/src/tool/hashGenerator/i18n/pl.ts +2 -5
- package/src/tool/hashGenerator/i18n/pt.ts +2 -5
- package/src/tool/hashGenerator/i18n/ru.ts +2 -5
- package/src/tool/hashGenerator/i18n/sv.ts +2 -5
- package/src/tool/hashGenerator/i18n/tr.ts +2 -5
- package/src/tool/hashGenerator/i18n/zh.ts +2 -5
- package/src/tool/inspectorCertificadosSsl/bibliography.astro +2 -10
- package/src/tool/inspectorCertificadosSsl/bibliography.ts +8 -0
- package/src/tool/inspectorCertificadosSsl/component.astro +4 -3
- package/src/tool/inspectorCertificadosSsl/i18n/de.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/en.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/es.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/fr.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/id.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/it.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +2 -6
- package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +2 -6
- package/src/tool/jsonFormatter/bibliography.astro +2 -10
- package/src/tool/jsonFormatter/bibliography.ts +8 -0
- package/src/tool/jsonFormatter/i18n/de.ts +2 -18
- package/src/tool/jsonFormatter/i18n/en.ts +2 -18
- package/src/tool/jsonFormatter/i18n/es.ts +2 -18
- package/src/tool/jsonFormatter/i18n/fr.ts +2 -18
- package/src/tool/jsonFormatter/i18n/id.ts +2 -18
- package/src/tool/jsonFormatter/i18n/it.ts +2 -18
- package/src/tool/jsonFormatter/i18n/ja.ts +2 -18
- package/src/tool/jsonFormatter/i18n/ko.ts +2 -18
- package/src/tool/jsonFormatter/i18n/nl.ts +2 -18
- package/src/tool/jsonFormatter/i18n/pl.ts +2 -18
- package/src/tool/jsonFormatter/i18n/pt.ts +2 -18
- package/src/tool/jsonFormatter/i18n/ru.ts +2 -18
- package/src/tool/jsonFormatter/i18n/sv.ts +2 -18
- package/src/tool/jsonFormatter/i18n/tr.ts +2 -18
- package/src/tool/jsonFormatter/i18n/zh.ts +2 -18
- package/src/tool/jwtDecoder/component.astro +2 -1
- package/src/tool/jwtDecoder/logic.test.ts +32 -0
- package/src/tool/keycode/bibliography.astro +2 -10
- package/src/tool/keycode/bibliography.ts +7 -0
- package/src/tool/keycode/i18n/de.ts +2 -14
- package/src/tool/keycode/i18n/en.ts +2 -14
- package/src/tool/keycode/i18n/es.ts +2 -14
- package/src/tool/keycode/i18n/fr.ts +2 -14
- package/src/tool/keycode/i18n/id.ts +2 -14
- package/src/tool/keycode/i18n/it.ts +2 -14
- package/src/tool/keycode/i18n/ja.ts +2 -14
- package/src/tool/keycode/i18n/ko.ts +2 -14
- package/src/tool/keycode/i18n/nl.ts +2 -14
- package/src/tool/keycode/i18n/pl.ts +2 -14
- package/src/tool/keycode/i18n/pt.ts +2 -14
- package/src/tool/keycode/i18n/ru.ts +2 -14
- package/src/tool/keycode/i18n/sv.ts +2 -14
- package/src/tool/keycode/i18n/tr.ts +2 -14
- package/src/tool/keycode/i18n/zh.ts +2 -14
- package/src/tool/llmCostCalculator/bibliography.astro +2 -10
- package/src/tool/llmCostCalculator/bibliography.ts +8 -0
- package/src/tool/llmCostCalculator/i18n/de.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/en.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/es.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/fr.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/id.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/it.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/ja.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/ko.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/nl.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/pl.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/pt.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/ru.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/sv.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/tr.ts +2 -18
- package/src/tool/llmCostCalculator/i18n/zh.ts +2 -18
- package/src/tool/mobileMockupGenerator/bibliography.astro +2 -10
- package/src/tool/mobileMockupGenerator/bibliography.ts +6 -0
- package/src/tool/mobileMockupGenerator/i18n/de.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/en.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/es.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/fr.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/id.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/it.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/ja.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/ko.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/nl.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/pl.ts +2 -1
- package/src/tool/mobileMockupGenerator/i18n/pt.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/ru.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/sv.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/tr.ts +2 -4
- package/src/tool/mobileMockupGenerator/i18n/zh.ts +2 -4
- package/src/tool/musicalTypography/bibliography.astro +2 -10
- package/src/tool/musicalTypography/bibliography.ts +7 -0
- package/src/tool/musicalTypography/i18n/de.ts +2 -14
- package/src/tool/musicalTypography/i18n/en.ts +3 -15
- package/src/tool/musicalTypography/i18n/es.ts +3 -15
- package/src/tool/musicalTypography/i18n/fr.ts +2 -14
- package/src/tool/musicalTypography/i18n/id.ts +2 -14
- package/src/tool/musicalTypography/i18n/it.ts +2 -14
- package/src/tool/musicalTypography/i18n/ja.ts +2 -14
- package/src/tool/musicalTypography/i18n/ko.ts +2 -14
- package/src/tool/musicalTypography/i18n/nl.ts +2 -14
- package/src/tool/musicalTypography/i18n/pl.ts +2 -14
- package/src/tool/musicalTypography/i18n/pt.ts +2 -5
- package/src/tool/musicalTypography/i18n/ru.ts +2 -5
- package/src/tool/musicalTypography/i18n/sv.ts +2 -1
- package/src/tool/musicalTypography/i18n/tr.ts +2 -1
- package/src/tool/musicalTypography/i18n/zh.ts +2 -1
- package/src/tool/placeholderGenerator/bibliography.astro +2 -10
- package/src/tool/placeholderGenerator/bibliography.ts +7 -0
- package/src/tool/placeholderGenerator/i18n/de.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/en.ts +4 -16
- package/src/tool/placeholderGenerator/i18n/es.ts +4 -16
- package/src/tool/placeholderGenerator/i18n/fr.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/id.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/it.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/ja.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/ko.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/nl.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/pl.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/pt.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/ru.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/sv.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/tr.ts +2 -14
- package/src/tool/placeholderGenerator/i18n/zh.ts +2 -14
- package/src/tool/promoteThisWebsite/asset-bindings.ts +73 -0
- package/src/tool/promoteThisWebsite/bibliography.astro +14 -0
- package/src/tool/promoteThisWebsite/bibliography.ts +14 -0
- package/src/tool/promoteThisWebsite/component.astro +136 -0
- package/src/tool/promoteThisWebsite/control-views.ts +83 -0
- package/src/tool/promoteThisWebsite/controller.ts +232 -0
- package/src/tool/promoteThisWebsite/dom-views.ts +322 -0
- package/src/tool/promoteThisWebsite/entry.ts +16 -0
- package/src/tool/promoteThisWebsite/evaluator.ts +9 -0
- package/src/tool/promoteThisWebsite/i18n/en.ts +111 -0
- package/src/tool/promoteThisWebsite/i18n/es.ts +111 -0
- package/src/tool/promoteThisWebsite/index.ts +11 -0
- package/src/tool/promoteThisWebsite/jjlmoya-overlay.png +0 -0
- package/src/tool/promoteThisWebsite/logic.test.ts +29 -0
- package/src/tool/promoteThisWebsite/logic.ts +108 -0
- package/src/tool/promoteThisWebsite/pixel-cat.png +0 -0
- package/src/tool/promoteThisWebsite/promote-this-website.css +322 -0
- package/src/tool/promoteThisWebsite/seo.astro +15 -0
- package/src/tool/promoteThisWebsite/storage.ts +28 -0
- package/src/tool/promoteThisWebsite/title-view.ts +206 -0
- package/src/tool/promoteThisWebsite/ui.ts +59 -0
- package/src/tool/promptLibrary/bibliography.astro +2 -10
- package/src/tool/promptLibrary/bibliography.ts +6 -0
- package/src/tool/promptLibrary/i18n/de.ts +2 -4
- package/src/tool/promptLibrary/i18n/en.ts +2 -4
- package/src/tool/promptLibrary/i18n/es.ts +2 -4
- package/src/tool/promptLibrary/i18n/fr.ts +2 -4
- package/src/tool/promptLibrary/i18n/id.ts +2 -4
- package/src/tool/promptLibrary/i18n/it.ts +2 -4
- package/src/tool/promptLibrary/i18n/ja.ts +2 -4
- package/src/tool/promptLibrary/i18n/ko.ts +2 -4
- package/src/tool/promptLibrary/i18n/nl.ts +2 -4
- package/src/tool/promptLibrary/i18n/pl.ts +2 -1
- package/src/tool/promptLibrary/i18n/pt.ts +2 -4
- package/src/tool/promptLibrary/i18n/ru.ts +2 -4
- package/src/tool/promptLibrary/i18n/sv.ts +2 -4
- package/src/tool/promptLibrary/i18n/tr.ts +2 -4
- package/src/tool/promptLibrary/i18n/zh.ts +2 -4
- package/src/tool/readabilityCalculator/bibliography.astro +2 -10
- package/src/tool/readabilityCalculator/bibliography.ts +7 -0
- package/src/tool/readabilityCalculator/i18n/de.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/en.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/es.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/fr.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/id.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/it.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/ja.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/ko.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/nl.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/pl.ts +2 -1
- package/src/tool/readabilityCalculator/i18n/pt.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/ru.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/sv.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/tr.ts +2 -5
- package/src/tool/readabilityCalculator/i18n/zh.ts +2 -5
- package/src/tool/serpPixelSimulator/controller.ts +1 -0
- package/src/tool/serpPixelSimulator/i18n/en.ts +2 -2
- package/src/tool/serpPixelSimulator/i18n/es.ts +2 -2
- package/src/tool/serpPixelSimulator/logic.test.ts +25 -0
- package/src/tool/svgSanitizer/bibliography.astro +2 -10
- package/src/tool/svgSanitizer/bibliography.ts +7 -0
- package/src/tool/svgSanitizer/i18n/de.ts +2 -5
- package/src/tool/svgSanitizer/i18n/en.ts +2 -5
- package/src/tool/svgSanitizer/i18n/es.ts +2 -5
- package/src/tool/svgSanitizer/i18n/fr.ts +2 -5
- package/src/tool/svgSanitizer/i18n/id.ts +2 -5
- package/src/tool/svgSanitizer/i18n/it.ts +2 -5
- package/src/tool/svgSanitizer/i18n/ja.ts +2 -5
- package/src/tool/svgSanitizer/i18n/ko.ts +2 -5
- package/src/tool/svgSanitizer/i18n/nl.ts +2 -5
- package/src/tool/svgSanitizer/i18n/pl.ts +2 -5
- package/src/tool/svgSanitizer/i18n/pt.ts +2 -1
- package/src/tool/svgSanitizer/i18n/ru.ts +2 -5
- package/src/tool/svgSanitizer/i18n/sv.ts +2 -5
- package/src/tool/svgSanitizer/i18n/tr.ts +2 -5
- package/src/tool/svgSanitizer/i18n/zh.ts +2 -5
- package/src/tool/svgToCss/bibliography.astro +2 -10
- package/src/tool/svgToCss/bibliography.ts +8 -0
- package/src/tool/svgToCss/i18n/de.ts +2 -18
- package/src/tool/svgToCss/i18n/en.ts +2 -18
- package/src/tool/svgToCss/i18n/es.ts +2 -18
- package/src/tool/svgToCss/i18n/fr.ts +2 -18
- package/src/tool/svgToCss/i18n/id.ts +2 -18
- package/src/tool/svgToCss/i18n/it.ts +2 -18
- package/src/tool/svgToCss/i18n/ja.ts +2 -18
- package/src/tool/svgToCss/i18n/ko.ts +2 -18
- package/src/tool/svgToCss/i18n/nl.ts +2 -18
- package/src/tool/svgToCss/i18n/pl.ts +2 -18
- package/src/tool/svgToCss/i18n/pt.ts +2 -18
- package/src/tool/svgToCss/i18n/ru.ts +2 -18
- package/src/tool/svgToCss/i18n/sv.ts +2 -18
- package/src/tool/svgToCss/i18n/tr.ts +2 -18
- package/src/tool/svgToCss/i18n/zh.ts +2 -18
- package/src/tool/urlCleaner/bibliography.astro +2 -10
- package/src/tool/urlCleaner/bibliography.ts +7 -0
- package/src/tool/urlCleaner/i18n/de.ts +2 -5
- package/src/tool/urlCleaner/i18n/en.ts +2 -5
- package/src/tool/urlCleaner/i18n/es.ts +2 -5
- package/src/tool/urlCleaner/i18n/fr.ts +2 -5
- package/src/tool/urlCleaner/i18n/id.ts +2 -5
- package/src/tool/urlCleaner/i18n/it.ts +2 -5
- package/src/tool/urlCleaner/i18n/ja.ts +2 -5
- package/src/tool/urlCleaner/i18n/ko.ts +2 -5
- package/src/tool/urlCleaner/i18n/nl.ts +2 -5
- package/src/tool/urlCleaner/i18n/pl.ts +2 -1
- package/src/tool/urlCleaner/i18n/pt.ts +2 -5
- package/src/tool/urlCleaner/i18n/ru.ts +2 -5
- package/src/tool/urlCleaner/i18n/sv.ts +2 -5
- package/src/tool/urlCleaner/i18n/tr.ts +2 -5
- package/src/tool/urlCleaner/i18n/zh.ts +2 -5
- package/src/tool/urlEncoderDecoder/bibliography.astro +2 -10
- package/src/tool/urlEncoderDecoder/bibliography.ts +7 -0
- package/src/tool/urlEncoderDecoder/i18n/de.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/en.ts +3 -15
- package/src/tool/urlEncoderDecoder/i18n/es.ts +3 -15
- package/src/tool/urlEncoderDecoder/i18n/fr.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/id.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/it.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/ja.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/ko.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/nl.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/pl.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/pt.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/ru.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/sv.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/tr.ts +2 -14
- package/src/tool/urlEncoderDecoder/i18n/zh.ts +2 -14
- package/src/tool/utmGenerator/bibliography.astro +2 -10
- package/src/tool/utmGenerator/bibliography.ts +6 -0
- package/src/tool/utmGenerator/i18n/de.ts +2 -4
- package/src/tool/utmGenerator/i18n/en.ts +2 -4
- package/src/tool/utmGenerator/i18n/es.ts +2 -4
- package/src/tool/utmGenerator/i18n/fr.ts +2 -4
- package/src/tool/utmGenerator/i18n/id.ts +2 -4
- package/src/tool/utmGenerator/i18n/it.ts +2 -4
- package/src/tool/utmGenerator/i18n/ja.ts +2 -4
- package/src/tool/utmGenerator/i18n/ko.ts +2 -4
- package/src/tool/utmGenerator/i18n/nl.ts +2 -4
- package/src/tool/utmGenerator/i18n/pl.ts +2 -4
- package/src/tool/utmGenerator/i18n/pt.ts +2 -4
- package/src/tool/utmGenerator/i18n/ru.ts +2 -4
- package/src/tool/utmGenerator/i18n/sv.ts +2 -4
- package/src/tool/utmGenerator/i18n/tr.ts +2 -4
- package/src/tool/utmGenerator/i18n/zh.ts +2 -4
- package/src/tool/visualCssGridFlexboxGenerator/component.astro +1 -0
- package/src/tool/visualCssGridFlexboxGenerator/logic.test.ts +29 -0
- package/src/tool/visualCssGridFlexboxGenerator/workspace.ts +13 -1
- package/src/tools.ts +2 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { JsonFormatterUI } from '../ui';
|
|
@@ -107,24 +108,7 @@ export const content: ToolLocaleContent<JsonFormatterUI> = {
|
|
|
107
108
|
faqTitle: 'Часто задаваемые вопросы',
|
|
108
109
|
faq: faqData,
|
|
109
110
|
bibliographyTitle: 'Ссылки и стандарты',
|
|
110
|
-
bibliography
|
|
111
|
-
{
|
|
112
|
-
name: 'RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format (IETF)',
|
|
113
|
-
url: 'https://datatracker.ietf.org/doc/html/rfc8259',
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
name: 'ECMA-404 - The JSON Data Interchange Syntax (Ecma International)',
|
|
117
|
-
url: 'https://www.ecma-international.org/publications-and-standards/standards/ecma-404/',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: 'JSON.org - Введение в JSON',
|
|
121
|
-
url: 'https://www.json.org/json-en.html',
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
name: 'MDN Web Docs - JSON',
|
|
125
|
-
url: 'https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/JSON',
|
|
126
|
-
},
|
|
127
|
-
],
|
|
111
|
+
bibliography,
|
|
128
112
|
howTo: howToData,
|
|
129
113
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
130
114
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { JsonFormatterUI } from '../ui';
|
|
@@ -107,24 +108,7 @@ export const content: ToolLocaleContent<JsonFormatterUI> = {
|
|
|
107
108
|
faqTitle: 'Vanliga frågor',
|
|
108
109
|
faq: faqData,
|
|
109
110
|
bibliographyTitle: 'Referenser och Standarder',
|
|
110
|
-
bibliography
|
|
111
|
-
{
|
|
112
|
-
name: 'RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format (IETF)',
|
|
113
|
-
url: 'https://datatracker.ietf.org/doc/html/rfc8259',
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
name: 'ECMA-404 - The JSON Data Interchange Syntax (Ecma International)',
|
|
117
|
-
url: 'https://www.ecma-international.org/publications-and-standards/standards/ecma-404/',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: 'JSON.org - Introduktion till JSON',
|
|
121
|
-
url: 'https://www.json.org/json-en.html',
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
name: 'MDN Web Docs - JSON',
|
|
125
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON',
|
|
126
|
-
},
|
|
127
|
-
],
|
|
111
|
+
bibliography,
|
|
128
112
|
howTo: howToData,
|
|
129
113
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
130
114
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { JsonFormatterUI } from '../ui';
|
|
@@ -107,24 +108,7 @@ export const content: ToolLocaleContent<JsonFormatterUI> = {
|
|
|
107
108
|
faqTitle: 'Sıkça Sorulan Sorular',
|
|
108
109
|
faq: faqData,
|
|
109
110
|
bibliographyTitle: 'Referanslar ve Standartlar',
|
|
110
|
-
bibliography
|
|
111
|
-
{
|
|
112
|
-
name: 'RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format (IETF)',
|
|
113
|
-
url: 'https://datatracker.ietf.org/doc/html/rfc8259',
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
name: 'ECMA-404 - The JSON Data Interchange Syntax (Ecma International)',
|
|
117
|
-
url: 'https://www.ecma-international.org/publications-and-standards/standards/ecma-404/',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: 'JSON.org - JSON\'a Giriş',
|
|
121
|
-
url: 'https://www.json.org/json-en.html',
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
name: 'MDN Web Docs - JSON',
|
|
125
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON',
|
|
126
|
-
},
|
|
127
|
-
],
|
|
111
|
+
bibliography,
|
|
128
112
|
howTo: howToData,
|
|
129
113
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
130
114
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { JsonFormatterUI } from '../ui';
|
|
@@ -107,24 +108,7 @@ export const content: ToolLocaleContent<JsonFormatterUI> = {
|
|
|
107
108
|
faqTitle: '常见问题',
|
|
108
109
|
faq: faqData,
|
|
109
110
|
bibliographyTitle: '参考资料与标准',
|
|
110
|
-
bibliography
|
|
111
|
-
{
|
|
112
|
-
name: 'RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format (IETF)',
|
|
113
|
-
url: 'https://datatracker.ietf.org/doc/html/rfc8259',
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
name: 'ECMA-404 - The JSON Data Interchange Syntax (Ecma International)',
|
|
117
|
-
url: 'https://www.ecma-international.org/publications-and-standards/standards/ecma-404/',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: 'JSON.org - JSON 介绍',
|
|
121
|
-
url: 'https://www.json.org/json-en.html',
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
name: 'MDN Web Docs - JSON',
|
|
125
|
-
url: 'https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON',
|
|
126
|
-
},
|
|
127
|
-
],
|
|
111
|
+
bibliography,
|
|
128
112
|
howTo: howToData,
|
|
129
113
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
130
114
|
seo: [
|
|
@@ -156,7 +156,8 @@ const t = (ui ?? {}) as JwtDecoderUI;
|
|
|
156
156
|
function renderInvalidToken(error: ReturnType<typeof decodeJwt>['error']) {
|
|
157
157
|
resetOutputs();
|
|
158
158
|
headerOutput.textContent = t.invalidTokenTitle;
|
|
159
|
-
|
|
159
|
+
const detail = error === 'invalid-segments' ? t.invalidSegmentError : t.invalidDecodeError;
|
|
160
|
+
payloadOutput.textContent = `${detail}\n${t.invalidTokenBody}`;
|
|
160
161
|
setStatus(t.statusInvalid, 'invalid');
|
|
161
162
|
}
|
|
162
163
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { decodeJwt, formatClaimDate, formatClaimValue, formatJson } from './logic';
|
|
3
|
+
|
|
4
|
+
function encode(value: Record<string, unknown>): string {
|
|
5
|
+
return btoa(JSON.stringify(value)).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
describe('JWT decoder logic', () => {
|
|
9
|
+
it('decodes a valid signed-looking token and marks expired claims', () => {
|
|
10
|
+
const token = `${encode({ alg: 'HS256', typ: 'JWT' })}.${encode({ sub: '42', exp: 1 })}.signature`;
|
|
11
|
+
const result = decodeJwt(token);
|
|
12
|
+
expect(result.valid).toBe(true);
|
|
13
|
+
expect(result.payload.sub).toBe('42');
|
|
14
|
+
expect(result.expired).toBe(true);
|
|
15
|
+
expect(result.unsigned).toBe(false);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('recognizes unsigned tokens and invalid structures', () => {
|
|
19
|
+
const unsigned = `${encode({ alg: 'none' })}.${encode({ role: 'reader' })}.`;
|
|
20
|
+
expect(decodeJwt(unsigned).unsigned).toBe(true);
|
|
21
|
+
expect(decodeJwt('not-a-jwt').error).toBe('invalid-segments');
|
|
22
|
+
expect(decodeJwt('e30.invalid-json.signature').error).toBe('invalid-json');
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('formats JSON, claims and dates without inventing values', () => {
|
|
26
|
+
expect(formatJson({ ok: true })).toContain('"ok": true');
|
|
27
|
+
expect(formatClaimValue(['a', 2])).toBe('a, 2');
|
|
28
|
+
expect(formatClaimValue(null)).toBeNull();
|
|
29
|
+
expect(formatClaimDate(0)).toBeTypeOf('string');
|
|
30
|
+
expect(formatClaimDate('0')).toBeNull();
|
|
31
|
+
});
|
|
32
|
+
});
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
-
import {
|
|
4
|
-
import type { KnownLocale } from '../../types';
|
|
5
|
-
|
|
6
|
-
interface Props {
|
|
7
|
-
locale?: KnownLocale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { locale = 'es' } = Astro.props;
|
|
11
|
-
const content = await keycode.i18n[locale]?.();
|
|
3
|
+
import { bibliography } from './bibliography';
|
|
12
4
|
---
|
|
13
5
|
|
|
14
|
-
|
|
6
|
+
<SharedBibliography links={bibliography} />
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{ name: 'MDN Web Docs - KeyboardEvent', url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent' },
|
|
5
|
+
{ name: 'UI Events Specification (W3C) - KeyboardEvent', url: 'https://www.w3.org/TR/uievents/#events-keyboardevents' },
|
|
6
|
+
{ name: 'MDN - KeyboardEvent.code values', url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values' },
|
|
7
|
+
];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Häufig gestellte Fragen',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Referenzen und Standards',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/de/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Frequently Asked Questions',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'References and Standards',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Preguntas Frecuentes',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Referencias y Estándares',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/es/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Questions fréquentes',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Références et standards',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Spécification UI Events (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - Valeurs de KeyboardEvent.code',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Referensi dan Standar',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Domande Frequenti',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Riferimenti e Standard',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/it/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'よくある質問',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: '参考資料と標準',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/ja/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: '자주 묻는 질문',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: '참고 자료 및 표준',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/ko/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Veelgestelde Vragen',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Referenties en Standaarden',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Często Zadawane Pytania',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Referencje i Standardy',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Perguntas Frequentes',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Referências e Padrões',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Especificação UI Events (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - Valores de KeyboardEvent.code',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Часто Задаваемые Вопросы',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Ссылки и Стандарты',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Спецификация UI Events (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - Значения KeyboardEvent.code',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Vanliga Frågor',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Referenser och Standarder',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: 'Sık Sorulan Sorular',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: 'Referanslar ve Standartlar',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { KeycodeUI } from '../ui';
|
|
@@ -98,20 +99,7 @@ export const content: ToolLocaleContent<KeycodeUI> = {
|
|
|
98
99
|
faqTitle: '常见问题',
|
|
99
100
|
faq: faqData,
|
|
100
101
|
bibliographyTitle: '参考资料和标准',
|
|
101
|
-
bibliography
|
|
102
|
-
{
|
|
103
|
-
name: 'MDN Web Docs - KeyboardEvent',
|
|
104
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'UI Events Specification (W3C) - KeyboardEvent',
|
|
108
|
-
url: 'https://www.w3.org/TR/uievents/#events-keyboardevents',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'MDN - KeyboardEvent.code values',
|
|
112
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values',
|
|
113
|
-
},
|
|
114
|
-
],
|
|
102
|
+
bibliography,
|
|
115
103
|
howTo: howToData,
|
|
116
104
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
117
105
|
seo: [
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
-
import {
|
|
4
|
-
import type { KnownLocale } from '../../types';
|
|
5
|
-
|
|
6
|
-
interface Props {
|
|
7
|
-
locale?: KnownLocale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { locale = 'es' } = Astro.props;
|
|
11
|
-
const content = await llmCostCalculator.i18n[locale]?.();
|
|
3
|
+
import { bibliography } from './bibliography';
|
|
12
4
|
---
|
|
13
5
|
|
|
14
|
-
|
|
6
|
+
<SharedBibliography links={bibliography} />
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{ name: 'OpenAI API Pricing', url: 'https://openai.com/pricing' },
|
|
5
|
+
{ name: 'Anthropic API Pricing', url: 'https://www.anthropic.com/pricing' },
|
|
6
|
+
{ name: 'Google AI Studio Pricing', url: 'https://ai.google.dev/pricing' },
|
|
7
|
+
{ name: 'OpenAI Tokenizer', url: 'https://platform.openai.com/tokenizer' },
|
|
8
|
+
];
|