From d3de0c0ad13f34d8daae88d23f4cc7a6a97afc2d Mon Sep 17 00:00:00 2001 From: didier amyot Date: Fri, 26 Jan 2024 18:54:03 -0500 Subject: [PATCH] added random example --- json-gnome-exemple.ipynb | 70 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 json-gnome-exemple.ipynb diff --git a/json-gnome-exemple.ipynb b/json-gnome-exemple.ipynb new file mode 100644 index 0000000..faff891 --- /dev/null +++ b/json-gnome-exemple.ipynb @@ -0,0 +1,70 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 27, + "id": "979a911a", + "metadata": {}, + "outputs": [], + "source": [ + "class Person {\n", + "\n", + " constructor(name, age){\n", + " this.name = name;\n", + " this.age = age;\n", + " }\n", + " \n", + " isMajor(){\n", + " return this.age > 18;\n", + " }\n", + " \n", + " toJSON(){\n", + " return {\n", + " type: \"Person\",\n", + " age: this.age,\n", + " name: this.name,\n", + " }\n", + " }\n", + " \n", + "}\n", + "\n", + "function deserializeObject(object){\n", + " if(object.type === \"Person\"){\n", + " return new Person(object.name, object.age);\n", + " }\n", + " if(object.type === \"Gnome\"){\n", + " return new Gnome(object.name, object.age);\n", + " }\n", + " if(object.type === \"Luttin\"){\n", + " return new Luttin(object.name, object.age);\n", + " }\n", + "}\n", + "\n", + "function deserializeArray(lst){\n", + " const ret = [];\n", + " for(const e of lst){\n", + " ret.push(deserializeObject(e));\n", + " }\n", + " return ret;\n", + "}" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Deno", + "language": "typescript", + "name": "deno" + }, + "language_info": { + "file_extension": ".ts", + "mimetype": "text/x.typescript", + "name": "typescript", + "nb_converter": "script", + "pygments_lexer": "typescript", + "version": "5.3.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}