Skip to main content

Python module for implement object with syntax from JavaScript

Project description

asjs

Python module for implement object with syntax from JavaScript. Implementing access to keys by obj.path.to.your.key notation as in JavaScript

downloads downloads downloads supported versions pypi pypi github top language github last commit github release date github repo stars

Installing

pip install asjs

or like this:

curl https://github.com/tankalxat34/pyasjs/raw/main/asjs.py -o asjs.py

Using

Recommended import statement:

from asjs import ObjectNotation

Creating new object

Using dictionary:

obj = ObjectNotation({"key1": "value1", "key2": "value2", "key3": {"a": "b", "lst": [14, 5, 6, 12]}})

Using arguments:

obj = ObjectNotation(key1="value1", key2="value2", key3={"a": "b", "lst": [14, 5, 6, 12]})

Getting values by keys or indexes

>>> obj[0]
value1
>>> obj.key2
value2
>>> obj["key3"]
[14, 5, 6, 12]

Creating new keys in object

obj.year = 2023

or:

>>> obj.set("year", 2023)

or:

>>> year = 2023
>>> obj.set(year)

or:

>>> obj["year"] = 2023

Saving functions in object

>>> obj.fibonachi = lambda n: 1 if n <= 2 else obj.fibonachi(n - 1) + obj.fibonachi(n - 2)

>>> obj.fibonachi(7)
13

Removing keys by string-names or indexes

>>> del obj.year

or:

>>> del obj[-1]

or:

>>> del obj["year"]

Changing value by key

>>> obj.key1 = 123

or:

>>> obj["key1"] = 123

Cycle for by object

Indexes:

>>> for i in range(len(obj)):
...     print(i)
0
1
2

Keys:

>>> for k in obj:
...     print(k)
key1
key2
key3
fibonachi

Values:

>>> for v in obj.values():
...     print(v)
123
value2
JSObject(a: 'b', lst: JSObject(0: 14, 1: 5, 2: 6, 3: 12))
<function <lambda> at 0x0000020189F19480>

Boolean statements

>>> "key3" in obj
True
>>> "fake_key" in obj
False

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asjs-0.1.3.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

asjs-0.1.3-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file asjs-0.1.3.tar.gz.

File metadata

  • Download URL: asjs-0.1.3.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.1 Windows/10

File hashes

Hashes for asjs-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ace5c9dd0cc3d9df76d4091c4c75a9ba6259c047efcdb783c62867e96ab2df0d
MD5 4741fae43cf765d3d54ee2f731442f48
BLAKE2b-256 6a0405fc151b6a685091a94c8e53e878b8f04280c7bcac7f83ef53cc2b8d94e0

See more details on using hashes here.

File details

Details for the file asjs-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: asjs-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.1 Windows/10

File hashes

Hashes for asjs-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6fe13d379ca424d000deaed258117d8d17324cf716cb71f6e0d4006d4d7fe7f1
MD5 b13f9ab6d302c679c885f7364c2eeedc
BLAKE2b-256 a8d69fb6954693bd773e706fe49d5ab91a83e2534522ac247207228b60c58fce

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page