]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
wip: remove decorators
authorEvan You <yyx990803@gmail.com>
Mon, 27 May 2019 05:48:27 +0000 (13:48 +0800)
committerEvan You <yyx990803@gmail.com>
Mon, 27 May 2019 05:48:27 +0000 (13:48 +0800)
packages/decorators/.npmignore [deleted file]
packages/decorators/README.md [deleted file]
packages/decorators/__tests__/prop.spec.ts [deleted file]
packages/decorators/index.js [deleted file]
packages/decorators/package.json [deleted file]
packages/decorators/src/index.ts [deleted file]
packages/decorators/src/inject.ts [deleted file]
packages/decorators/src/prop.ts [deleted file]

diff --git a/packages/decorators/.npmignore b/packages/decorators/.npmignore
deleted file mode 100644 (file)
index bb5c8a5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-__tests__/
-__mocks__/
-dist/packages
\ No newline at end of file
diff --git a/packages/decorators/README.md b/packages/decorators/README.md
deleted file mode 100644 (file)
index d06feab..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# @vue/decorators
\ No newline at end of file
diff --git a/packages/decorators/__tests__/prop.spec.ts b/packages/decorators/__tests__/prop.spec.ts
deleted file mode 100644 (file)
index 0bcfc80..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-import { prop } from '../src/prop'
-import { Component, createInstance } from '@vue/runtime-test'
-
-test('without options', () => {
-  let capturedThisValue
-  let capturedPropsValue
-
-  class Foo extends Component<{ p: number }> {
-    @prop
-    p: number
-
-    created() {
-      capturedThisValue = this.p
-      capturedPropsValue = this.$props.p
-    }
-  }
-
-  createInstance(Foo, {
-    p: 1
-  })
-  expect(capturedThisValue).toBe(1)
-  expect(capturedPropsValue).toBe(1)
-
-  // explicit override
-  createInstance(Foo, {
-    p: 2
-  })
-  expect(capturedThisValue).toBe(2)
-  expect(capturedPropsValue).toBe(2)
-})
-
-test('with options', () => {
-  let capturedThisValue
-  let capturedPropsValue
-  let capturedDataValue
-
-  class Foo extends Component<{ p: number }> {
-    @prop({
-      default: 1
-    })
-    p: number
-    // data property should be able to make use of prop
-    d: number = this.p + 1
-
-    created() {
-      capturedThisValue = this.p
-      capturedPropsValue = this.$props.p
-      capturedDataValue = this.d
-    }
-  }
-
-  // default value
-  createInstance(Foo)
-  expect(capturedThisValue).toBe(1)
-  expect(capturedPropsValue).toBe(1)
-  expect(capturedDataValue).toBe(2)
-
-  // explicit override
-  createInstance(Foo, {
-    p: 2
-  })
-  expect(capturedThisValue).toBe(2)
-  expect(capturedPropsValue).toBe(2)
-  expect(capturedDataValue).toBe(3)
-})
diff --git a/packages/decorators/index.js b/packages/decorators/index.js
deleted file mode 100644 (file)
index 6817e44..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
-  module.exports = require('./dist/decorators.cjs.prod.js')
-} else {
-  module.exports = require('./dist/decorators.cjs.js')
-}
diff --git a/packages/decorators/package.json b/packages/decorators/package.json
deleted file mode 100644 (file)
index e88e438..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-  "name": "@vue/decorators",
-  "version": "3.0.0-alpha.1",
-  "description": "@vue/decorators",
-  "main": "index.js",
-  "module": "dist/decorators.esm-bundler.js",
-  "types": "dist/index.d.ts",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/vuejs/vue.git"
-  },
-  "keywords": [
-    "vue"
-  ],
-  "author": "Evan You",
-  "license": "MIT",
-  "bugs": {
-    "url": "https://github.com/vuejs/vue/issues"
-  },
-  "homepage": "https://github.com/vuejs/vue/tree/dev/packages/decorators#readme"
-}
\ No newline at end of file
diff --git a/packages/decorators/src/index.ts b/packages/decorators/src/index.ts
deleted file mode 100644 (file)
index 969bdd1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-export { prop } from './prop'
-export { inject } from './inject'
diff --git a/packages/decorators/src/inject.ts b/packages/decorators/src/inject.ts
deleted file mode 100644 (file)
index daaf965..0000000
+++ /dev/null
@@ -1 +0,0 @@
-export function inject() {}
diff --git a/packages/decorators/src/prop.ts b/packages/decorators/src/prop.ts
deleted file mode 100644 (file)
index 5b31093..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Component, PropValidator } from '@vue/runtime-core'
-import { camelize } from '@vue/shared'
-
-export function prop(
-  target: Component | PropValidator<any>,
-  key?: string
-): any {
-  if (key) {
-    applyProp(target, key)
-  } else {
-    const options = target as PropValidator<any>
-    return (target: any, key: string) => {
-      applyProp(target, key, options)
-    }
-  }
-}
-
-function applyProp(target: any, key: string, options: PropValidator<any> = {}) {
-  // here `target` is the prototype of the component class
-  Object.defineProperty(target, `__prop_${camelize(key)}`, {
-    value: options
-  })
-}