Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/austingebauer/devise.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/nan/nan_persistent_pre_12_inl.h')
-rw-r--r--node_modules/nan/nan_persistent_pre_12_inl.h242
1 files changed, 0 insertions, 242 deletions
diff --git a/node_modules/nan/nan_persistent_pre_12_inl.h b/node_modules/nan/nan_persistent_pre_12_inl.h
deleted file mode 100644
index 4c9c59d..0000000
--- a/node_modules/nan/nan_persistent_pre_12_inl.h
+++ /dev/null
@@ -1,242 +0,0 @@
-/*********************************************************************
- * NAN - Native Abstractions for Node.js
- *
- * Copyright (c) 2018 NAN contributors
- *
- * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
- ********************************************************************/
-
-#ifndef NAN_PERSISTENT_PRE_12_INL_H_
-#define NAN_PERSISTENT_PRE_12_INL_H_
-
-template<typename T>
-class PersistentBase {
- v8::Persistent<T> persistent;
- template<typename U>
- friend v8::Local<U> New(const PersistentBase<U> &p);
- template<typename U, typename M>
- friend v8::Local<U> New(const Persistent<U, M> &p);
- template<typename U>
- friend v8::Local<U> New(const Global<U> &p);
- template<typename S> friend class ReturnValue;
-
- public:
- inline PersistentBase() :
- persistent() {}
-
- inline void Reset() {
- persistent.Dispose();
- persistent.Clear();
- }
-
- template<typename S>
- inline void Reset(const v8::Local<S> &other) {
- TYPE_CHECK(T, S);
-
- if (!persistent.IsEmpty()) {
- persistent.Dispose();
- }
-
- if (other.IsEmpty()) {
- persistent.Clear();
- } else {
- persistent = v8::Persistent<T>::New(other);
- }
- }
-
- template<typename S>
- inline void Reset(const PersistentBase<S> &other) {
- TYPE_CHECK(T, S);
-
- if (!persistent.IsEmpty()) {
- persistent.Dispose();
- }
-
- if (other.IsEmpty()) {
- persistent.Clear();
- } else {
- persistent = v8::Persistent<T>::New(other.persistent);
- }
- }
-
- inline bool IsEmpty() const { return persistent.IsEmpty(); }
-
- inline void Empty() { persistent.Clear(); }
-
- template<typename S>
- inline bool operator==(const PersistentBase<S> &that) const {
- return this->persistent == that.persistent;
- }
-
- template<typename S>
- inline bool operator==(const v8::Local<S> &that) const {
- return this->persistent == that;
- }
-
- template<typename S>
- inline bool operator!=(const PersistentBase<S> &that) const {
- return !operator==(that);
- }
-
- template<typename S>
- inline bool operator!=(const v8::Local<S> &that) const {
- return !operator==(that);
- }
-
- template<typename P>
- inline void SetWeak(
- P *parameter
- , typename WeakCallbackInfo<P>::Callback callback
- , WeakCallbackType type);
-
- inline void ClearWeak() { persistent.ClearWeak(); }
-
- inline void MarkIndependent() { persistent.MarkIndependent(); }
-
- inline bool IsIndependent() const { return persistent.IsIndependent(); }
-
- inline bool IsNearDeath() const { return persistent.IsNearDeath(); }
-
- inline bool IsWeak() const { return persistent.IsWeak(); }
-
- private:
- inline explicit PersistentBase(v8::Persistent<T> that) :
- persistent(that) { }
- inline explicit PersistentBase(T *val) : persistent(val) {}
- template<typename S, typename M> friend class Persistent;
- template<typename S> friend class Global;
- friend class ObjectWrap;
-};
-
-template<typename T>
-class NonCopyablePersistentTraits {
- public:
- typedef Persistent<T, NonCopyablePersistentTraits<T> >
- NonCopyablePersistent;
- static const bool kResetInDestructor = false;
- template<typename S, typename M>
- inline static void Copy(const Persistent<S, M> &source,
- NonCopyablePersistent *dest) {
- Uncompilable<v8::Object>();
- }
-
- template<typename O> inline static void Uncompilable() {
- TYPE_CHECK(O, v8::Primitive);
- }
-};
-
-template<typename T>
-struct CopyablePersistentTraits {
- typedef Persistent<T, CopyablePersistentTraits<T> > CopyablePersistent;
- static const bool kResetInDestructor = true;
- template<typename S, typename M>
- static inline void Copy(const Persistent<S, M> &source,
- CopyablePersistent *dest) {}
-};
-
-template<typename T, typename M> class Persistent :
- public PersistentBase<T> {
- public:
- inline Persistent() {}
-
- template<typename S> inline Persistent(v8::Handle<S> that)
- : PersistentBase<T>(v8::Persistent<T>::New(that)) {
- TYPE_CHECK(T, S);
- }
-
- inline Persistent(const Persistent &that) : PersistentBase<T>() {
- Copy(that);
- }
-
- template<typename S, typename M2>
- inline Persistent(const Persistent<S, M2> &that) :
- PersistentBase<T>() {
- Copy(that);
- }
-
- inline Persistent &operator=(const Persistent &that) {
- Copy(that);
- return *this;
- }
-
- template <class S, class M2>
- inline Persistent &operator=(const Persistent<S, M2> &that) {
- Copy(that);
- return *this;
- }
-
- inline ~Persistent() {
- if (M::kResetInDestructor) this->Reset();
- }
-
- private:
- inline T *operator*() const { return *PersistentBase<T>::persistent; }
-
- template<typename S, typename M2>
- inline void Copy(const Persistent<S, M2> &that) {
- TYPE_CHECK(T, S);
-
- this->Reset();
-
- if (!that.IsEmpty()) {
- this->persistent = v8::Persistent<T>::New(that.persistent);
- M::Copy(that, this);
- }
- }
-};
-
-template<typename T>
-class Global : public PersistentBase<T> {
- struct RValue {
- inline explicit RValue(Global* obj) : object(obj) {}
- Global* object;
- };
-
- public:
- inline Global() : PersistentBase<T>(0) { }
-
- template <typename S>
- inline Global(v8::Local<S> that) // NOLINT(runtime/explicit)
- : PersistentBase<T>(v8::Persistent<T>::New(that)) {
- TYPE_CHECK(T, S);
- }
-
- template <typename S>
- inline Global(const PersistentBase<S> &that) // NOLINT(runtime/explicit)
- : PersistentBase<T>(that) {
- TYPE_CHECK(T, S);
- }
- /**
- * Move constructor.
- */
- inline Global(RValue rvalue) // NOLINT(runtime/explicit)
- : PersistentBase<T>(rvalue.object->persistent) {
- rvalue.object->Reset();
- }
- inline ~Global() { this->Reset(); }
- /**
- * Move via assignment.
- */
- template<typename S>
- inline Global &operator=(Global<S> rhs) {
- TYPE_CHECK(T, S);
- this->Reset(rhs.persistent);
- rhs.Reset();
- return *this;
- }
- /**
- * Cast operator for moves.
- */
- inline operator RValue() { return RValue(this); }
- /**
- * Pass allows returning uniques from functions, etc.
- */
- Global Pass() { return Global(RValue(this)); }
-
- private:
- Global(Global &);
- void operator=(Global &);
- template<typename S> friend class ReturnValue;
-};
-
-#endif // NAN_PERSISTENT_PRE_12_INL_H_