Security News
JavaScript Leaders Demand Oracle Release the JavaScript Trademark
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
ozone-type
Advanced tools
Expose Ozone and Flowr types in typescript
$ npm install ozone-type
Item
: base type for ozone items.OzoneType
: decorator for class that extend Item.FromOzone<T extends Item>
: template type for Item received from ozone.function toPatch<T extends Item>(item: FromOzone<T>): Patch<T>
: transform Item received from ozone to item that can be saved.function toPatchWithUndefinedAsNull<T extends Item>(item: FromOzone<T>): Patch<T>
: same as function toPatch but it set filed explicitly undefined to null so that they can be erase on ozoneUsage example
import { toPatch, Patch, UUID, FromOzone } from 'ozone-type'
declare function getMyNewTypeFromOzone(id: UUID): FromOzone<MyNewType>
declare function saveMyNewTypeToOzone(data: Patch<MyNewType>): FromOzone<MyNewType>
const myData = getMyNewTypeFromOzone('myID')
const myDataToUpdate = toPatch(myData)
myDataToUpdate.aLocalizedAttr = {
fr: 'bonjour',
en: 'hello'
}
saveMyNewTypeToOzone(myDataToUpdate)
Add a file in ozone/model
// import base type
import { OzoneType, Item, UUID } from 'ozone-type'
/**
* MyNewType is a new ozone object
*/
OzoneType('my.new.type') // decorate to set type by default
export class MyNewType extends Item { // All the dynamic typed ozone object extend Item
anAttribute?: UUID
aLocalizedAttr?: {[key: string]: string}
/**
* Recopy constructor
* @param src
*/
constructor(src: MyNewType) {
super(src)
this.anAttribute = src.anAttribute
this.aLocalizedAttr = src.aLocalizedAttr
}
// Use static method for helpers. So that new is not mandatory.
static getAttrIn(src: MyNewType, language: string): string | undefined {
src.aLocalizedAttr = src.aLocalizedAttr || {}
return src.aLocalizedAttr[language]
}
}
Then add export statment in ozone/model/models.ts
Generate Ozone Item classes using oz. For example:
oz -u taktik -s https://test.flowr.cloud/ozone -p <password> generate --package "" --target typescript -o ./ozone-components/packages/ozone-helper/ozone-type/ozone/model
Then commit git add ozone/model/*
FAQs
ozone type declaration package
The npm package ozone-type receives a total of 369 weekly downloads. As such, ozone-type popularity was classified as not popular.
We found that ozone-type demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.