{"id":23644434,"url":"https://github.com/allnulled/conductometria-api","last_synced_at":"2025-11-11T06:30:18.919Z","repository":{"id":269756094,"uuid":"908367943","full_name":"allnulled/conductometria-api","owner":"allnulled","description":"API para mediciones de conducta.","archived":false,"fork":false,"pushed_at":"2024-12-25T22:14:14.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-25T23:18:06.854Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/allnulled.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-25T22:11:21.000Z","updated_at":"2024-12-25T22:14:18.000Z","dependencies_parsed_at":"2024-12-25T23:18:11.655Z","dependency_job_id":"468f569b-2ea3-4a78-9440-06c9123ad3c5","html_url":"https://github.com/allnulled/conductometria-api","commit_stats":null,"previous_names":["allnulled/conductometria-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allnulled%2Fconductometria-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allnulled%2Fconductometria-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allnulled%2Fconductometria-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allnulled%2Fconductometria-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/allnulled","download_url":"https://codeload.github.com/allnulled/conductometria-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239587230,"owners_count":19663892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-28T12:20:07.602Z","updated_at":"2025-11-11T06:30:18.889Z","avatar_url":"https://github.com/allnulled.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# conductometria-api\n\nAPI para mediciones de conducta.\n\n## Editor en línea\n\nUsa la API directamente desde tu dispositivo en:\n\n- [https://allnulled.github.io/conductometria-api/index.html](https://allnulled.github.io/conductometria-api/index.html)\n\n## Instalación\n\n```sh\nnpm i -s @allnulled/conductometria-api\n```\n\n## Inicio\n\nEn node.js:\n\n```js\nrequire(\"@allnulled/conductometria\");\n```\n\nEn HTML:\n\n```html\n\u003cscript src=\"node_modules/@allnulled/conductometria/dist/conductometria.js\"\u003e\u003c/script\u003e\n```\n\nY ahora puedes:\n\n```js\nconst cm = Conductometria.crear();\n```\n\n## Uso\n\nAquí tienes el ejemplo del test.\n\nDe momento, hay algunas propiedades mágicas:\n\n- `concepto`: define el nombre del `fenomeno` y del `concepto` y del `estado` también.\n- `fecha`: texto que sigue el formato de [@allnulled/timeformat](https://github.com/allnulled/timeformat) para fechas\n   - será automáticamente traducido a objeto con `anio`, `mes` y `dia`.\n   - será automáticamente propagado a `fecha_legible`.\n- `hora`: texto que sigue el formato de [@allnulled/timeformat](https://github.com/allnulled/timeformat) para horas\n   - será automáticamente traducido a objeto con `hora`, `minuto`, `segundo` y `milisegundo`.\n   - será automáticamente propagado a `hora_legible`.\n- `duracion`: texto que sigue el formato de [@allnulled/timeformat](https://github.com/allnulled/timeformat) para duración\n   - será automáticamente traducido a milisegundos.\n   - será automáticamente propagado a `duracion_legible`.\n- `categorias`: no hace nada de momento. Pensado para búsquedas.\n- `puntos`: número que se propaga por defecto del fenómeno al estado. De fenómeno a fenómeno (o concepto a concepto) no se propaga por defecto, hay que propagarlo en el `produce` del origen.\n- `produce`: mapa con el *concepto propagado* y la *función propagadora*. Esta función:\n   - recibe coger datos de su **fenómeno causal** y de su **concepto causal**\n   - retorna el nuevo fenómeno que se propaga.\n   - puede retornar una lista de fenómenos que se propagan.\n\n```js\nrequire(__dirname + \"/dist/conductometria.bundle.js\");\n// Ejemplo de uso\nconst cm = Conductometria.crear({ tracear: 1 });\n\ncm.registrar.concepto({\n  concepto: \"observación\",\n  definicion: \"El hecho de pararse a observar\",\n  categorias: [\"tal\", \"cual\", \"pascual\"],\n  produce: {\n    disciplina: function({puntos = 0, duracion = 0}, concepto) {\n      return {\n        duracion: duracion * 0.2,\n        puntos: puntos * 0.2\n      };\n    },\n    calma: function({puntos = 0, duracion = 0}, concepto) {\n      return {\n        duracion: this.formatear.duracion.a.tiempo(duracion || 0) * 0.2,\n        puntos: puntos * 0.3\n      };\n    },\n  }\n});\n\ncm.registrar.fenomeno({\n  concepto: \"observación\",\n  fecha: \"2025/01/01\",\n  hora: \"08:00\",\n  duracion: \"1h\",\n  puntos: 100,\n  matices: { clima: \"soleado\", intensidad: \"moderada\" },\n});\n\ncm.registrar.fenomeno({\n  concepto: \"observación\",\n  fecha: \"2025/01/01\",\n  hora: \"08:00\",\n  duracion: \"1h\",\n  puntos: 200,\n  matices: { clima: \"soleado\", intensidad: \"moderada\" },\n});\n\ncm.registrar.fenomeno({\n  concepto: \"observación\",\n  fecha: \"2025/01/01\",\n  hora: \"08:00\",\n  duracion: \"1h\",\n  puntos: 300,\n  matices: { clima: \"soleado\", intensidad: \"moderada\" },\n});\n\nconsole.log(cm.obtener.fenomenos());\nconsole.log(cm.obtener.conceptos());\nconsole.log(cm.obtener.estados());\nconsole.log(cm.jsonify());\ncm.persistIn(\"test.json\");\n```\n\n## Basado en open-editor\n\nLa aplicación en línea de [`allnulled@conductometria-api`](https://github.com/allnulled/conductometria-api) está basada en la aplicación de [`allnulled@open-editor`](https://github.com/allnulled/open-editor). De hecho, [`open-editor`](https://github.com/allnulled/open-editor) incorpora *innecesariamente* (es decir, *no tiene dependientes*) a [`conductometria-api`](https://github.com/allnulled/conductometria-api).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallnulled%2Fconductometria-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fallnulled%2Fconductometria-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallnulled%2Fconductometria-api/lists"}