1.6.7 • Published 4 years ago

net4-platform v1.6.7

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

Платформа net4

Позже будет документация.

Описание модуля типизации методов бизнес логики

Теперь в module.types передаётся объект вида {НазваниеАргумента: ТипАргумента} Пример:

export default {
  types: {
    name: 'str',
    password: 'str'
  }
  mеthod(name, password) {...}
}

Важно, чтобы ключ в объекте module.types соответствовал названию входного аргумента в методе module.method.

Допустимые типы аргументов:

  • 'int'
  • 'real'
  • 'str'
  • 'bool'
  • 'buffer'
  • 'object'
  • 'any'
  • 'array/int'
  • 'array/real'
  • 'array/str'
  • 'array/bool'
  • Если передать массив, то это будет считаться за тип enum. Допустимыми являются только значения из этого массива.
  • Если передать объект, то будет ожидаться на вход объект с идентичным форматом:
export default {
  types: {
    user: {
      name: 'str',
      money: 'int'
    },
    newMoneyValue: 'int'
  }
  mеthod(user, newMoneyValue) {
    user.money = newMoneyValue
    ...
  }
}
  • Если на вход передать массив из единственного элемента - объекта определенного формата, значит на вход ожидается массив из объектов указанного формата:
export default {
  types: {
    files: [{
      id: 'str',
      name: 'str'
    }]
  }
  mеthod(files) {
    files.forEach(file => console.log(file.id, file.name))
  }
}

Также поддерживаются опциональные аргументы, которые могут быть null. Для этого нужно поставить знак вопроса в конце описания типа:

export default {
  types: {
    login: 'str',
    password: 'str',
    email: 'str?'
  }
  mеthod(login, password, email) {
    ...
  }
}
1.6.7

4 years ago

1.6.6

4 years ago

1.6.5

4 years ago

1.6.4

4 years ago

1.6.3

4 years ago

1.6.2

4 years ago

1.6.1

4 years ago

1.6.0

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.1

4 years ago

1.4.0

5 years ago

1.3.0

5 years ago

1.2.0

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago