nerv-shared
Advanced tools
+13
-0
@@ -6,2 +6,15 @@ # Change Log | ||
| <a name="1.4.0"></a> | ||
| # [1.4.0](https://github.com/NervJS/nerv/compare/v1.4.0-beta.5...v1.4.0) (2019-06-03) | ||
| ### Features | ||
| * 增加getDerivedStateFromError ([71c3df0](https://github.com/NervJS/nerv/commit/71c3df0)) | ||
| * 增加getSnapshotBeforeUpdate ([c8594b6](https://github.com/NervJS/nerv/commit/c8594b6)) | ||
| * 新增生命周期函数getDerivedStateFromProps ([06624cf](https://github.com/NervJS/nerv/commit/06624cf)) | ||
| <a name="1.3.7"></a> | ||
@@ -8,0 +21,0 @@ ## [1.3.7](https://github.com/NervJS/nerv/compare/v1.3.6...v1.3.7) (2018-10-26) |
+3
-0
@@ -75,2 +75,5 @@ // Generated by dts-bundle v0.7.3 | ||
| componentDidCatch?(error?: any): void; | ||
| getDerivedStateFromProps?(nextProps: Readonly<P>, prevState: Readonly<S>): object | null; | ||
| getDerivedStateFromError?(error?: any): object | null; | ||
| getSnapshotBeforeUpdate?(prevProps: Readonly<P>, prevState: Readonly<S>): object | null; | ||
| } | ||
@@ -77,0 +80,0 @@ export interface Refs { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["export interface Widget {\n vtype: VType\n name: string\n _owner: any\n props: any\n _rendered: any\n context: any\n init (parentContext, parentComponent): Element | null\n update (\n previous: ComponentInstance,\n current: ComponentInstance,\n context: any,\n dom?: Element\n ): Element | null\n destroy (dom?: Element)\n}\n\nexport interface Portal {\n type: Element\n vtype: VType\n children: VirtualNode\n dom: null | Element\n}\n\nexport type ComponentInstance = CompositeComponent | StatelessComponent\n\nexport interface CompositeComponent extends Widget {\n type: any\n component: Component<any, any>\n ref?: Ref\n dom: Element | null\n}\n\nexport interface StatelessComponent extends Widget {\n type: Function\n dom: Element | null\n}\n\nexport const EMPTY_CHILDREN: any[] = []\n\nexport const EMPTY_OBJ = {}\n\nexport interface VText {\n vtype: VType\n text: string | number\n dom: Text | null\n}\n\nexport interface VVoid {\n dom: Text | null\n vtype: VType\n}\n\nexport interface VNode {\n vtype: VType\n type: string\n props: Props\n children: VirtualChildren\n key: string | number | undefined\n namespace: string | null\n _owner: Component<any, any> // TODO: this is a component\n isSvg?: boolean\n parentContext?: any\n dom: Element | null\n ref: Function | string | null\n}\n\nexport type VirtualNode =\n | VNode\n | VText\n | CompositeComponent\n | StatelessComponent\n | VVoid\n | Portal\n\nexport type VirtualChildren = Array<string | number | VirtualNode> | VirtualNode\n\nexport type Ref = (node?: Element | null) => void | null | string\n\nexport interface Props {\n children?: VirtualChildren\n ref?: Ref\n key?: any\n className?: string | object\n [k: string]: any\n}\n\nexport interface ComponentLifecycle<P, S> {\n componentWillMount? (): void\n componentDidMount? (): void\n componentWillReceiveProps? (nextProps: Readonly<P>, nextContext: any): void\n shouldComponentUpdate? (\n nextProps: Readonly<P>,\n nextState: Readonly<S>,\n nextContext: any\n ): boolean\n componentWillUpdate? (\n nextProps: Readonly<P>,\n nextState: Readonly<S>,\n nextContext: any\n ): void\n componentDidUpdate? (\n prevProps: Readonly<P>,\n prevState: Readonly<S>,\n prevContext: any\n ): void\n componentWillUnmount? (): void\n componentDidCatch? (error?): void\n}\n\nexport interface Refs {\n [k: string]: any\n}\n\nexport interface Component<P, S> extends ComponentLifecycle<P, S> {\n state: Readonly<S>\n props: Readonly<P> & Readonly<any>\n context: any\n _dirty: boolean\n _disable: boolean\n _rendered: any\n _parentComponent: Component<any, any>\n prevProps: P\n prevState: S\n prevContext: object\n isReactComponent: object\n dom: any\n vnode: CompositeComponent\n clearCallBacks: () => void\n getState (): S\n // tslint:disable-next-line:member-ordering\n refs: Refs\n render (props?, context?): VirtualNode\n}\n\nexport function isNullOrUndef (o: any): o is undefined | null {\n return o === undefined || o === null\n}\n\nexport function isInvalid (o: any): o is undefined | null | true | false {\n return isNullOrUndef(o) || o === true || o === false\n}\n\nexport function isVNode (node): node is VNode {\n return !isNullOrUndef(node) && node.vtype === VType.Node\n}\n\nexport function isVText (node): node is VText {\n return !isNullOrUndef(node) && node.vtype === VType.Text\n}\n\nexport function isComponent (instance): instance is Component<any, any> {\n return !isInvalid(instance) && instance.isReactComponent === EMPTY_OBJ\n}\n\nexport function isWidget (\n node\n): node is CompositeComponent | StatelessComponent {\n return (\n !isNullOrUndef(node) &&\n (node.vtype & (VType.Composite)) > 0\n )\n}\n\nexport function isPortal (vtype: VType, node): node is Portal {\n return (vtype & VType.Portal) > 0\n}\n\nexport function isComposite (node): node is CompositeComponent {\n return !isNullOrUndef(node) && node.vtype === VType.Composite\n}\n\nexport function isValidElement (node): node is VirtualNode {\n return !isNullOrUndef(node) && node.vtype\n}\n\nexport function isHook (arg) {\n return !isNullOrUndef(arg) && typeof arg.vhook === 'number'\n}\n\n// tslint:disable-next-line:no-empty\nexport function noop () {}\n\n// typescript will compile the enum's value for us.\n// eg.\n// Composite = 1 << 2 => Composite = 4\nexport const enum VType {\n Text = 1,\n Node = 1 << 1,\n Composite = 1 << 2,\n Void = 1 << 4,\n Portal = 1 << 5\n}\n"],"names":[],"mappings":"AAsCO,MAAM,cAAc,GAAU,EAAE,CAAA;AAEvC,AAAO,MAAM,SAAS,GAAG,EAAE,CAAA;AA+F3B,SAAgB,aAAa,CAAE,CAAM;IACnC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAA;CACrC;AAED,SAAgB,SAAS,CAAE,CAAM;IAC/B,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAA;CACrD;AAED,SAAgB,OAAO,CAAE,IAAI;IAC3B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,kBAAe;CACzD;AAED,SAAgB,OAAO,CAAE,IAAI;IAC3B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,kBAAe;CACzD;AAED,SAAgB,WAAW,CAAE,QAAQ;IACnC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,CAAA;CACvE;AAED,SAAgB,QAAQ,CACtB,IAAI;IAEJ,QACE,CAAC,aAAa,CAAC,IAAI,CAAC;QACpB,CAAC,IAAI,CAAC,KAAK,sBAAoB,IAAI,CAAC,EACrC;CACF;AAED,SAAgB,QAAQ,CAAE,KAAY,EAAE,IAAI;IAC1C,OAAO,CAAC,KAAK,sBAAmB,CAAC,CAAA;CAClC;AAED,SAAgB,WAAW,CAAE,IAAI;IAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,uBAAoB;CAC9D;AAED,SAAgB,cAAc,CAAE,IAAI;IAClC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAA;CAC1C;AAED,SAAgB,MAAM,CAAE,GAAG;IACzB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAA;CAC5D;;AAGD,SAAgB,IAAI,MAAM;;;;AAK1B,AAAA,IAAkB,KAMjB;AAND,WAAkB,KAAK;IACrB,iCAAQ,CAAA;IACR,iCAAa,CAAA;IACb,2CAAkB,CAAA;IAClB,kCAAa,CAAA;IACb,sCAAe,CAAA;CAChB,EANiB,KAAK,KAAL,KAAK,QAMtB;;;;"} | ||
| {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["export interface Widget {\n vtype: VType\n name: string\n _owner: any\n props: any\n _rendered: any\n context: any\n init (parentContext, parentComponent): Element | null\n update (\n previous: ComponentInstance,\n current: ComponentInstance,\n context: any,\n dom?: Element\n ): Element | null\n destroy (dom?: Element)\n}\n\nexport interface Portal {\n type: Element\n vtype: VType\n children: VirtualNode\n dom: null | Element\n}\n\nexport type ComponentInstance = CompositeComponent | StatelessComponent\n\nexport interface CompositeComponent extends Widget {\n type: any\n component: Component<any, any>\n ref?: Ref\n dom: Element | null\n}\n\nexport interface StatelessComponent extends Widget {\n type: Function\n dom: Element | null\n}\n\nexport const EMPTY_CHILDREN: any[] = []\n\nexport const EMPTY_OBJ = {}\n\nexport interface VText {\n vtype: VType\n text: string | number\n dom: Text | null\n}\n\nexport interface VVoid {\n dom: Text | null\n vtype: VType\n}\n\nexport interface VNode {\n vtype: VType\n type: string\n props: Props\n children: VirtualChildren\n key: string | number | undefined\n namespace: string | null\n _owner: Component<any, any> // TODO: this is a component\n isSvg?: boolean\n parentContext?: any\n dom: Element | null\n ref: Function | string | null\n}\n\nexport type VirtualNode =\n | VNode\n | VText\n | CompositeComponent\n | StatelessComponent\n | VVoid\n | Portal\n\nexport type VirtualChildren = Array<string | number | VirtualNode> | VirtualNode\n\nexport type Ref = (node?: Element | null) => void | null | string\n\nexport interface Props {\n children?: VirtualChildren\n ref?: Ref\n key?: any\n className?: string | object\n [k: string]: any\n}\n\nexport interface ComponentLifecycle<P, S> {\n componentWillMount? (): void\n componentDidMount? (): void\n componentWillReceiveProps? (nextProps: Readonly<P>, nextContext: any): void\n shouldComponentUpdate? (\n nextProps: Readonly<P>,\n nextState: Readonly<S>,\n nextContext: any\n ): boolean\n componentWillUpdate? (\n nextProps: Readonly<P>,\n nextState: Readonly<S>,\n nextContext: any\n ): void\n componentDidUpdate? (\n prevProps: Readonly<P>,\n prevState: Readonly<S>,\n prevContext: any\n ): void\n componentWillUnmount? (): void\n componentDidCatch? (error?): void\n getDerivedStateFromProps? (nextProps: Readonly<P>, prevState: Readonly<S>): object | null\n getDerivedStateFromError? (error?): object | null\n getSnapshotBeforeUpdate? (prevProps: Readonly<P>, prevState: Readonly<S>): object | null\n}\n\nexport interface Refs {\n [k: string]: any\n}\n\nexport interface Component<P, S> extends ComponentLifecycle<P, S> {\n state: Readonly<S>\n props: Readonly<P> & Readonly<any>\n context: any\n _dirty: boolean\n _disable: boolean\n _rendered: any\n _parentComponent: Component<any, any>\n prevProps: P\n prevState: S\n prevContext: object\n isReactComponent: object\n dom: any\n vnode: CompositeComponent\n clearCallBacks: () => void\n getState (): S\n // tslint:disable-next-line:member-ordering\n refs: Refs\n render (props?, context?): VirtualNode\n}\n\nexport function isNullOrUndef (o: any): o is undefined | null {\n return o === undefined || o === null\n}\n\nexport function isInvalid (o: any): o is undefined | null | true | false {\n return isNullOrUndef(o) || o === true || o === false\n}\n\nexport function isVNode (node): node is VNode {\n return !isNullOrUndef(node) && node.vtype === VType.Node\n}\n\nexport function isVText (node): node is VText {\n return !isNullOrUndef(node) && node.vtype === VType.Text\n}\n\nexport function isComponent (instance): instance is Component<any, any> {\n return !isInvalid(instance) && instance.isReactComponent === EMPTY_OBJ\n}\n\nexport function isWidget (\n node\n): node is CompositeComponent | StatelessComponent {\n return (\n !isNullOrUndef(node) &&\n (node.vtype & (VType.Composite)) > 0\n )\n}\n\nexport function isPortal (vtype: VType, node): node is Portal {\n return (vtype & VType.Portal) > 0\n}\n\nexport function isComposite (node): node is CompositeComponent {\n return !isNullOrUndef(node) && node.vtype === VType.Composite\n}\n\nexport function isValidElement (node): node is VirtualNode {\n return !isNullOrUndef(node) && node.vtype\n}\n\nexport function isHook (arg) {\n return !isNullOrUndef(arg) && typeof arg.vhook === 'number'\n}\n\n// tslint:disable-next-line:no-empty\nexport function noop () {}\n\n// typescript will compile the enum's value for us.\n// eg.\n// Composite = 1 << 2 => Composite = 4\nexport const enum VType {\n Text = 1,\n Node = 1 << 1,\n Composite = 1 << 2,\n Void = 1 << 4,\n Portal = 1 << 5\n}\n"],"names":[],"mappings":"AAsCO,MAAM,cAAc,GAAU,EAAE,CAAA;AAEvC,AAAO,MAAM,SAAS,GAAG,EAAE,CAAA;AAkG3B,SAAgB,aAAa,CAAE,CAAM;IACnC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAA;CACrC;AAED,SAAgB,SAAS,CAAE,CAAM;IAC/B,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAA;CACrD;AAED,SAAgB,OAAO,CAAE,IAAI;IAC3B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,kBAAe;CACzD;AAED,SAAgB,OAAO,CAAE,IAAI;IAC3B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,kBAAe;CACzD;AAED,SAAgB,WAAW,CAAE,QAAQ;IACnC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,CAAA;CACvE;AAED,SAAgB,QAAQ,CACtB,IAAI;IAEJ,QACE,CAAC,aAAa,CAAC,IAAI,CAAC;QACpB,CAAC,IAAI,CAAC,KAAK,sBAAoB,IAAI,CAAC,EACrC;CACF;AAED,SAAgB,QAAQ,CAAE,KAAY,EAAE,IAAI;IAC1C,OAAO,CAAC,KAAK,sBAAmB,CAAC,CAAA;CAClC;AAED,SAAgB,WAAW,CAAE,IAAI;IAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,uBAAoB;CAC9D;AAED,SAAgB,cAAc,CAAE,IAAI;IAClC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAA;CAC1C;AAED,SAAgB,MAAM,CAAE,GAAG;IACzB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAA;CAC5D;;AAGD,SAAgB,IAAI,MAAM;;;;AAK1B,AAAA,IAAkB,KAMjB;AAND,WAAkB,KAAK;IACrB,iCAAQ,CAAA;IACR,iCAAa,CAAA;IACb,2CAAkB,CAAA;IAClB,kCAAa,CAAA;IACb,sCAAe,CAAA;CAChB,EANiB,KAAK,KAAL,KAAK,QAMtB;;;;"} |
+1
-1
| { | ||
| "name": "nerv-shared", | ||
| "version": "1.4.0-beta.5", | ||
| "version": "1.4.0", | ||
| "description": "Internal utilities for Nerv.js", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
AI-detected possible typosquat
Supply chain riskAI has identified this package as a potential typosquat of a more popular package. This suggests that the package may be intentionally mimicking another package's name, description, or other metadata.
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
27696
3.39%187
1.63%1
-50%1
Infinity%